Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обработка событий, 2 кнопки: 1- FileDialog,2-отправка файла 
V
    Опции темы
LAKERS
Дата 16.3.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



кусок из кода программы, кнопка b - открывает FileDialog и показывает в textField название файла, после этого надо нажимать b2("OK") - по нему будут отправляться файлы...или приниматься, эта часть готова....
как 2 события связать с этими кнопками, с b - вроде все хорошо, а вот с b2 - не могу справиться, плиз помогите...


Код

Button b2 = new Button ("OK");
add(b2);
b2.addActionListener (?)

Button b = new Button ("Open");
add(b);
b.addActionListener (this);
}

public void actionPerformed(ActionEvent evt) {
FileDialog dialog = new FileDialog (this, "Open", FileDialog.LOAD);
dialog.show();
tF3.setText(dialog.getFile());

String cmd = evt.getActionCommand();
if (cmd.startsWith("OK"))
{
try {


Это сообщение отредактировал(а) LAKERS - 16.3.2006, 17:45
PM MAIL ICQ   Вверх
LSD
Дата 16.3.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



В чем проблема? Создай еще один листенер и повесь его на b2 или в уже существующем листенере проверяй какая кнопка нажата (ты так по моему и делаешь).

Если же тебе требуется, чтобы пользователь предварительно выбрал файл, и только потом жал ОК, то сделай вначале b2.setEnabled(false). А затем когда пользователь выберет файл b2.setEnabled(true).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
AntonSaburov
Дата 16.3.2006, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 118



Есть такой метод у ActionEvent - getSource(). Он возвращает объект, который породил событие.

На такие кнопки лучше хранить ссылки где-нибудь (обычно это члены класса) и сравнивать
Что-то вроде
Код

class Test
{
   private Button btn1 = new Button("OK");
   private Button btn2 = new Button("File");

  // Потом их вставляют где-то в форму и в обработчике делают так

  public void actionPerformad(ActionEvent e)
  {
    Object src = e.getSource();
    if(src == btn1) {
        // Делаем что-то
    }
    if(src == btn2) {
       // Еще что-то
    }
  }
}


Можно в принципе искать по тексту приводя getSource() к классу Button а потом спрашивать текст и сравнивать строки. Но по-меому это несколько сложнее и неудобно
PM MAIL WWW ICQ   Вверх
LAKERS
Дата 17.3.2006, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет




Цитата(LSD @ 16.3.2006, 18:19 Найти цитируемый пост)
В чем проблема? Создай еще один листенер и повесь его на b2 или в уже существующем листенере проверяй какая кнопка нажата (ты так по моему и делаешь).

Если же тебе требуется, чтобы пользователь предварительно выбрал файл, и только потом жал ОК, то сделай вначале b2.setEnabled(false). А затем когда пользователь выберет файл b2.setEnabled(true).

если же создаю второй листенер, то пишет что дублирую...
т.е. я пишу дважды...
Код

public void actionPerformed(ActionEvent evt) {



или не так нужно?

а если я проверяю какая кнопка нажата, то вместо "?" что ставить? он кроме this вроде не принимает ничего...

Это сообщение отредактировал(а) LAKERS - 17.3.2006, 12:19
PM MAIL ICQ   Вверх
LSD
Дата 17.3.2006, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Создавай листенер внутренним классом, а не реализацией интерфейса базовым:
Код
public class SomeClass extends JPanel
{
  private JButton btn1 = new JButton("OK");
  private JButton btn2 = new JButton("File");

  private void init()
  {
    btn1.addActionListener(new Button1Handler());
    btn2.addActionListener(new Button2Handler());
    add(btn1);
    add(btn2);
  }

  private class Button1Handler implements ActionListener
  {
    public void actionPerformed(ActionEvent e)
    {
      //Button 1 pressed
    }
  }

  private class Button2Handler implements ActionListener
  {
    public void actionPerformed(ActionEvent e)
    {
      //Button 2 pressed
    }
  }
}


Или определяй что за кнопка нажата как сказал AntonSaburov.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
LAKERS
Дата 17.3.2006, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



Цитата(AntonSaburov @ 16.3.2006, 18:21 Найти цитируемый пост)
Есть такой метод у ActionEvent - getSource(). Он возвращает объект, который породил событие.

На такие кнопки лучше хранить ссылки где-нибудь (обычно это члены класса) и сравнивать
Что-то вроде



class Test
{
  private Button btn1 = new Button("OK");
  private Button btn2 = new Button("File");

  // Потом их вставляют где-то в форму и в обработчике делают так

  public void actionPerformad(ActionEvent e)
  {
    Object src = e.getSource();
    if(src == btn1) {
        // Делаем что-то
    }
    if(src == btn2) {
      // Еще что-то
    }
  }
}






Можно в принципе искать по тексту приводя getSource() к классу Button а потом спрашивать текст и сравнивать строки. Но по-меому это несколько сложнее и неудобно


а что к кнопкам можно не добавлять .addActionListener()??? и в этом случае в скобках что писать?

PM MAIL ICQ   Вверх
LSD
Дата 17.3.2006, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Цитата(LAKERS @ 17.3.2006, 12:36 Найти цитируемый пост)
а что к кнопкам можно не добавлять .addActionListener()???

Нет конечно, добавлять нужно, просто Антон опустил этот код.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
LAKERS
Дата 17.3.2006, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



Цитата(LSD @ 17.3.2006, 12:32 Найти цитируемый пост)
Или определяй что за кнопка нажата как сказал AntonSaburov.



решил последовать этому совету, но тоже проблема....

Код

b.addActionListener(this);
}

public void actionPerformed(ActionEvent evt) {

Object sc = evt.getSource();

if (sc == b) {
FileDialog dialog = new FileDialog (this, "Open", FileDialog.LOAD);
dialog.show();
tF3.setText(dialog.getFile());
}

if (sc == b2)
{
try {


вот это действует, b.addActionListener(this);
а для b2("OK") мне что добавить в b.addActionListener(?);


или после if что записать?
PM MAIL ICQ   Вверх
LSD
Дата 17.3.2006, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Цитата(LAKERS @ 17.3.2006, 12:53 Найти цитируемый пост)
вот это действует, b.addActionListener(this);
а для b2("OK") мне что добавить в b.addActionListener(?);

Тоже самое b2.addActionListener(this);, у тебя один обработчик будет обрабатывать события от обоих кнопок.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
LAKERS
Дата 17.3.2006, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



Цитата(LSD @ 17.3.2006, 12:56 Найти цитируемый пост)
FileDialog dialog = new FileDialog (this, "Open", FileDialog.LOAD);


this стоит только на FileDialog он работать должен при нажатии одной кнопки, а у меня получается обе кнопки замыкаются на this
т.к. все вписано в один public void actionPerformed(ActionEvent evt) { для обоих кнопок...

Код


public void actionPerformed(ActionEvent evt) {

Object sc = evt.getSource();

if (sc == b) {
FileDialog dialog = new FileDialog (this, "Open", FileDialog.LOAD);
dialog.show();
tF3.setText(dialog.getFile());
}

if (sc == b2)

{
try {

Добавлено @ 13:11
все, спасибо, разобрался...
Добавлено @ 13:21
да еще проблема, кнопки я создавал вот так

Код

protected void makebutton (String name,
 GridBagLayout gridbag,
 GridBagConstraints c) {
Button button = new Button (name);
gridbag.setConstraints(button, c);
add(button);
}


makebutton("GET File", gridbag, c);
c.gridwidth = GridBagConstraints.REMAINDER;
c.anchor = GridBagConstraints.NORTHEAST;


как мне в таком случае с событиями нажатия кпопки заданной быть?
добавить после add(button); - button.addActionListener(this);
а как потом их различать в if (sc == )???

Это сообщение отредактировал(а) LAKERS - 17.3.2006, 15:32
PM MAIL ICQ   Вверх
LAKERS
Дата 17.3.2006, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



на КПК запускаю, TextField почему то мизерных размеров, по-умолчанию видимо, хотя изменяю код, к примеру 100 по диагонали (с 20 до 100) да ПК меняется, а на КПК не хочет... программка появляется в верхнем левом углу, места справа еще хватает...прога не весь экран на КПК занимает по горизонтали...
может кто знает в чем дело?
PM MAIL ICQ   Вверх
GIK
Дата 17.3.2006, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: нет
Всего: 14



Цитата

как мне в таком случае с событиями нажатия кпопки заданной быть?
добавить после add(button); - button.addActionListener(this);
а как потом их различать в if (sc == )???

Если указываеш button.addActionListener(this); то определяй метод-обработчик в этом объекте, только не забудь реализовать соответствующий интерфейс. А проверуку можно сдлелать как по соурсам так и по текстовой метке кнопки.

Код

class Test implements ActionListener{
 protected void makebutton (String name,
 GridBagLayout gridbag,
 GridBagConstraints c) {
Button button = new Button (name);
gridbag.setConstraints(button, c);
add(button);
}


makebutton("GET File", gridbag, c);
public void actionPerformed(ActionEvent ae) {
 Object src = ae.getSourse();
 if (src=button){
 
  //....................
 }
 }


}


Это сообщение отредактировал(а) GIK - 17.3.2006, 16:13


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
LAKERS
Дата 17.3.2006, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



у меня makebutton создает 4 кнопки
Код

makebutton("GET File", gridbag, c);
makebutton("PUT File", gridbag, c);
makebutton("OK", gridbag, c);
makebutton("Open File", gridbag, c);


тогда вот это...
Код

Object src = ae.getSourse();
 if (src=button){


я думаю не пойдет...т.к. под button какую из них здесь понимать?
PM MAIL ICQ   Вверх
GIK
Дата 17.3.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: нет
Всего: 14



Цитата

я думаю не пойдет...т.к. под button какую из них здесь понимать?

Использую getActionCommand() который возвращает String значение равное текстовой метке на кнопке, если конечно оно там есть smile .
Код


 public void actionPerformed(ActionEvent ae) {
 String str= ae.getActionCommand();
 if (str="батон1"){

//...............Вы нажали на кнопку Батон1
  }
}


Это сообщение отредактировал(а) GIK - 17.3.2006, 17:09


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
LSD
Дата 17.3.2006, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



LAKERS выложи код полностью, потому что тяжело объяснять, что надо подправить, не видя всего кода.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
LAKERS
Дата 18.3.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



ладно, в понедельник на работе попробую...
PM MAIL ICQ   Вверх
Goliath
Дата 18.3.2006, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 1.3.2005

Репутация: 3
Всего: 5



Я в таких случаях с событиями делаю так:
Код

public class ActionSample extends Frame
{
    public ActionSample()
    {
        super("Sample");
        setSize(400,400);
        Button b2 = new Button ("OK");
        AbstractAction addActionOk = new AbstractAction() 
        {
            public void actionPerformed(ActionEvent event) 
            { 
                JOptionPane.showMessageDialog(new JPanel(), "OK!!!" );
            }
        };
        
        b2.addActionListener(addActionOk);

        Button b = new Button ("Open");
        AbstractAction addActionOpen = new AbstractAction() 
        {
            public void actionPerformed(ActionEvent event) 
            { 
                JOptionPane.showMessageDialog(new JPanel(), "Open!!!" );
            }
        };
        b.addActionListener (addActionOpen);
        add(b2, BorderLayout.CENTER);
        add(b, BorderLayout.SOUTH);
    }

    public static void main(String[] args)
    {
        ActionSample sample = new ActionSample();
        sample.setVisible(true);
    }
}

--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] 
PM MAIL   Вверх
LAKERS
Дата 19.3.2006, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



тестирую приложение на ПК, все нормально: TextField нормального размера - 25
тестирую на КПК TextField почему-то минимального размера, даже надписи STATUS и ENTER IP не помещаются, почему?

Код

    GridBagLayout gridbag = new GridBagLayout();
    GridBagConstraints c = new GridBagConstraints();
    setFont(new Font("Helvetica", Font.PLAIN, 14));
    setLayout(gridbag);
    c.fill = GridBagConstraints.NONE;
    c.insets = new Insets(5,5,5,5);
    c.weightx = 1.0;
    c.anchor = GridBagConstraints.CENTER;
    TextField tF1 = new TextField("Enter IP", 25);
    add(tF1);
    c.gridwidth = GridBagConstraints.REMAINDER;
    makebutton("OK", gridbag, c);
    TextField tF2 = new TextField("STATUS", 25);
    add(tF2);
    c.gridwidth = GridBagConstraints.REMAINDER;
    makebutton("GET File", gridbag, c);
    c.gridwidth = GridBagConstraints.REMAINDER;
    c.anchor = GridBagConstraints.NORTHEAST;
    makebutton("PUT File", gridbag, c);
    tF3 = new TextField(20);
    add(tF3);
    Button b = new Button("Open");
    add(b);
    b.addActionListener(this);

PM MAIL ICQ   Вверх
LAKERS
Дата 20.3.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



у меня еще вопрос, на КПК не идет сторонняя библиотека, которую я прописываю в IMPORT....по идее ее на КПК тоже надо устанавливать в раздел lib??? использую JDK 1.1.8 и personalJava на КПК
PM MAIL ICQ   Вверх
LSD
Дата 20.3.2006, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Что за библиотека и что за ошибку выдает?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
LAKERS
Дата 20.3.2006, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



библиотека org.apache.commons.net.ftp я ее ant`ом под JDK 1.1.8 заточил....но на КПК не идет как раз связанное с этой библиотекой ....
ошибка типа java.lang.NoClassDefFoundError: org/apache/commons/net/ftp/FTPClient at GridBagLayoutWindow. <init>() at GridBagLayoutWindow. main()
PM MAIL ICQ   Вверх
LSD
Дата 20.3.2006, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Проблема в том, что этот jar не прописан в CLASSPATH. Надо или его туда прописать (как надо смотреть доку по personal Java) или, что проще, собрать и твои классы и библиотеку в один jar.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
LAKERS
Дата 21.3.2006, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



Цитата(LSD @ 20.3.2006, 21:23 Найти цитируемый пост)
Проблема в том, что этот jar не прописан в CLASSPATH. Надо или его туда прописать (как надо смотреть доку по personal Java) или, что проще, собрать и твои классы и библиотеку в один jar.



какой jar не прописан в CLASSPATH? в CLASSPATH прописано
D:\1\jdk\lib\classes.zip, где в classes.zip лежит собранная ant`ом библиотека org.apache.commons

в доках по personal Java написано, т.е. мне что-то заливать надо в папку \Temp\Classes или \Temp\OtherClasses.jar? что именно?

* Setting the CLASSPATH
For the Handheld PC Pro:
The classpath can be set on the
command line as follows:

"\Program Files\Java\pjava.exe"
-classpath "\Temp\OtherClasses.jar;
\Classes" -file Test

The classpath is set to include the
Java class files necessary for the
application. Here, the
OtherClasses.jar file is located in
the directory \Temp and the
directory \Classes is included in
the classpath also.

Note: The quotes are necessary.

For the Palm PC / Pocket PC:

A remote registry editor is required
(one comes with the MS Windows CE
Toolkit for Visual C++ 6.0).

Change the following:

HKEY_CLASSES_ROOT
Java Class File
Shell
Open
Command
"\Program Files\Java\bin\
pjava.exe" -file "%1"

to

"\Program Files\Java\bin\pjava.exe"
-classpath "\Temp\OtherClasses.jar;
\Classes" -file "%1"

The classpath is set to include the
Java class files necessary for the
application. Here, the
OtherClasses.jar file is located in
the directory \Temp and the
directory \Classes is included in
the classpath also.


* Executable JAR files
The jar files manifest file requires
a Main-Class header, indicating
which class is the application's
entry point. The executable JAR file
is then started in the standard
manner as with other applications.

Further information on modifying the
manifest file:

JAR Files as Applications - 1.2
platform only
http://java.sun.com/docs/books/
tutorial/jar/basics/run.html

If the application is contained
within one jar file, no other
changes are needed.

If the application is contained
within more than one jar file, the
classpath needs to be modified to
include all the jar files required
for the application (see above).


или проще собрать свои классы и библиотеку в JAR это какую библиотеку и куда поместить?

PM MAIL ICQ   Вверх
LAKERS
Дата 21.3.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



вроде разобрался, на КПК работает, но виснет почему-то...и я закачиваю файл на сервер, а он 0 кБ занимает....не знаю почему. то ли неправильно указываю путь файла на КПК? но тогда бы выдавалась ошибка о том, что файл не найден, а ошибки нет и файл вместо 1.3 кБ - 0 кБ...почему такое может быть? прописывал ftp.setFileType(FTP.BINARY_FILE_TYPE);
путь к файлу на КПК указываю \\My Documents\\test\\myr.fd
помогите...
PM MAIL ICQ   Вверх
LAKERS
Дата 23.3.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



что, неужели никто не знает в чем проблема?
PM MAIL ICQ   Вверх
LAKERS
Дата 23.3.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



вроде разобрался не хватало строки ftp.setLocalPaasiveMode();
только не пойму зачем это нужно было....


PM MAIL ICQ   Вверх
LSD
Дата 23.3.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Это значит, что сервер не поддерживает "активный" режим работы. А ты пытался ему закачивать файлы в "активном" режиме.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
batigoal
Дата 23.3.2006, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



Цитата(LAKERS @ 23.3.2006, 14:37 Найти цитируемый пост)
вроде разобрался не хватало строки ftp.setLocalPaasiveMode();
только не пойму зачем это нужно было....

Чтобы устновить пассивный режим smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
LAKERS
Дата 23.3.2006, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



все понял, все получилось...

Это сообщение отредактировал(а) LAKERS - 23.3.2006, 15:54
PM MAIL ICQ   Вверх
LAKERS
Дата 23.3.2006, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 10.2.2006
Где: Москва

Репутация: нет
Всего: нет



еще, на КПК почему-то текстовые поля у меня минимальной формы, хотя я устанавливаю и тестирую на ПК все идет нормально, размеры 25...почему так может быть?
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0803 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.