![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
кусок из кода программы, кнопка b - открывает FileDialog и показывает в textField название файла, после этого надо нажимать b2("OK") - по нему будут отправляться файлы...или приниматься, эта часть готова....
как 2 события связать с этими кнопками, с b - вроде все хорошо, а вот с b2 - не могу справиться, плиз помогите...
Это сообщение отредактировал(а) LAKERS - 16.3.2006, 17:45 |
|||
|
||||
| LSD |
|
|||
![]() 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. |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Есть такой метод у ActionEvent - getSource(). Он возвращает объект, который породил событие.
На такие кнопки лучше хранить ссылки где-нибудь (обычно это члены класса) и сравнивать Что-то вроде
Можно в принципе искать по тексту приводя getSource() к классу Button а потом спрашивать текст и сравнивать строки. Но по-меому это несколько сложнее и неудобно |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
если же создаю второй листенер, то пишет что дублирую... т.е. я пишу дважды...
или не так нужно? а если я проверяю какая кнопка нажата, то вместо "?" что ставить? он кроме this вроде не принимает ничего... Это сообщение отредактировал(а) LAKERS - 17.3.2006, 12:19 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Создавай листенер внутренним классом, а не реализацией интерфейса базовым:
Или определяй что за кнопка нажата как сказал 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. |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
а что к кнопкам можно не добавлять .addActionListener()??? и в этом случае в скобках что писать? |
|||
|
||||
| LSD |
|
|||
![]() 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. |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
решил последовать этому совету, но тоже проблема....
вот это действует, b.addActionListener(this); а для b2("OK") мне что добавить в b.addActionListener(?); или после if что записать? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Тоже самое 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. |
|||
|
||||
| LAKERS |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
this стоит только на FileDialog он работать должен при нажатии одной кнопки, а у меня получается обе кнопки замыкаются на this т.к. все вписано в один public void actionPerformed(ActionEvent evt) { для обоих кнопок...
Добавлено @ 13:11 все, спасибо, разобрался... Добавлено @ 13:21 да еще проблема, кнопки я создавал вот так
как мне в таком случае с событиями нажатия кпопки заданной быть? добавить после add(button); - button.addActionListener(this); а как потом их различать в if (sc == )??? Это сообщение отредактировал(а) LAKERS - 17.3.2006, 15:32 |
||||
|
|||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
на КПК запускаю, TextField почему то мизерных размеров, по-умолчанию видимо, хотя изменяю код, к примеру 100 по диагонали (с 20 до 100) да ПК меняется, а на КПК не хочет... программка появляется в верхнем левом углу, места справа еще хватает...прога не весь экран на КПК занимает по горизонтали...
может кто знает в чем дело? |
|||
|
||||
| GIK |
|
||||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: нет Всего: 14 |
Если указываеш button.addActionListener(this); то определяй метод-обработчик в этом объекте, только не забудь реализовать соответствующий интерфейс. А проверуку можно сдлелать как по соурсам так и по текстовой метке кнопки.
Это сообщение отредактировал(а) GIK - 17.3.2006, 16:13 -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
||||
|
|||||
| LAKERS |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
у меня makebutton создает 4 кнопки
тогда вот это...
я думаю не пойдет...т.к. под button какую из них здесь понимать? |
||||
|
|||||
| GIK |
|
||||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: нет Всего: 14 |
Использую getActionCommand() который возвращает String значение равное текстовой метке на кнопке, если конечно оно там есть
Это сообщение отредактировал(а) GIK - 17.3.2006, 17:09 -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
||||
|
|||||
| LSD |
|
|||
![]() 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. |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
ладно, в понедельник на работе попробую...
|
|||
|
||||
| Goliath |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 1.3.2005 Репутация: 3 Всего: 5 |
Я в таких случаях с событиями делаю так:
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
тестирую приложение на ПК, все нормально: TextField нормального размера - 25
тестирую на КПК TextField почему-то минимального размера, даже надписи STATUS и ENTER IP не помещаются, почему?
|
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
у меня еще вопрос, на КПК не идет сторонняя библиотека, которую я прописываю в IMPORT....по идее ее на КПК тоже надо устанавливать в раздел lib??? использую JDK 1.1.8 и personalJava на КПК
|
|||
|
||||
| LSD |
|
|||
![]() 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. |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 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() |
|||
|
||||
| LSD |
|
|||
![]() 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. |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
какой 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 это какую библиотеку и куда поместить? |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
вроде разобрался, на КПК работает, но виснет почему-то...и я закачиваю файл на сервер, а он 0 кБ занимает....не знаю почему. то ли неправильно указываю путь файла на КПК? но тогда бы выдавалась ошибка о том, что файл не найден, а ошибки нет и файл вместо 1.3 кБ - 0 кБ...почему такое может быть? прописывал ftp.setFileType(FTP.BINARY_FILE_TYPE);
путь к файлу на КПК указываю \\My Documents\\test\\myr.fd помогите... |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
что, неужели никто не знает в чем проблема?
|
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
вроде разобрался не хватало строки ftp.setLocalPaasiveMode();
только не пойму зачем это нужно было.... |
|||
|
||||
| LSD |
|
|||
![]() 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. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Чтобы устновить пассивный режим -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
все понял, все получилось...
Это сообщение отредактировал(а) LAKERS - 23.3.2006, 15:54 |
|||
|
||||
| LAKERS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 10.2.2006 Где: Москва Репутация: нет Всего: нет |
еще, на КПК почему-то текстовые поля у меня минимальной формы, хотя я устанавливаю и тестирую на ПК все идет нормально, размеры 25...почему так может быть?
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |