![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| jvoid |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 26.5.2009 Репутация: 1 Всего: 1 |
Есть JTextField и JPopupMenu нужно по мере вводе текста всплывало меню и пунктами меню были только те значения которые подходят под критерий собственно эта часть работает нормально. Нужно что б при нажатии на пункт меню, значение передавалось назад в JTextField т.е. JTextField.setText(). Не могу сообразить как приделать к jMenuItem из JPopupMenu слушатели и обработать события, вернее события нажатия на пункты меню обрабатываются но как теперь изменить текст в JTextField Прошу прощения за бардачек в коде, моя первая прога. Перепробовал уже кучу вариантов, много читал, безрезультатно. Помогите пожалуйста.
Это сообщение отредактировал(а) jvoid - 26.5.2009, 16:03 |
||||||
|
|||||||
| Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 8 Всего: 9 |
jvoid, используйте Popup и сами определяйте когда его показывать и где.
|
|||
|
||||
| jvoid |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 26.5.2009 Репутация: 1 Всего: 1 |
Connie
Я вас немного не понял, как Popup поможет мне с обработкой событий? С отображением то проблем нет. |
|||
|
||||
| Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 8 Всего: 9 |
jvoid, немного не понял задачу
Нужно на JMenuItem добавить actionListener когда он сработает, значит выбрали этот пункт -> делаем изменения в текстовом поле Вот же у Вас
Это сообщение отредактировал(а) Connie - 27.5.2009, 07:14 |
|||
|
||||
| jvoid |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 26.5.2009 Репутация: 1 Всего: 1 |
Ну у меня JMenuItem вместе с слушателями создаются динамически по мере ввода текста в JTextField из результатов запроса из базы данных, в пункты меню выводятся только те в которых начало поля соответствует символам введённым в JTextField.
Проблема в том что JMenuItem описаны вместе со слушателем в классе MyMenuItem а JTextField в классе UserFrame, кроме как сделать JTextField статическим ничего у меня не получилось. Вот я и спрашиваю как вопрос решить проблему. |
|||
|
||||
| Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 8 Всего: 9 |
jvoid, а кто мешает переписать конструктор JPopupMenu и в качестве параметра передавать родителя -> Текстовое поле?
как то так. Но я бы создавал на каждое текстовое поле свой экземпляр Попапа, а там уже просто указывал при создании родителя. Лишний экземпляр объекта потребит столько памяти, сколько нужно на хранение его полей, но не методов, так что расход памяти не будет уж слишком большим. |
|||
|
||||
| jvoid |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 26.5.2009 Репутация: 1 Всего: 1 |
Действительно, ничего не мешает. Это то что нужно Connie, Огромное вам спасибо!!!
Ну у меня JPopupMenu навешено только на одно текстовое поле, а при каждом изменении вводимого текста в JTextField я создаю JPopupMenu заново с новым набором JMenuItem Это сообщение отредактировал(а) jvoid - 28.5.2009, 12:33 |
||||
|
|||||
![]()
|
| Правила форума "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. |