2013-03-06 2 views
1

У меня есть текстовое поле и кнопка в форме качания с другими компонентами. Мое текстовое поле зарегистрировано в прослушивателе фокуса, и кнопка зарегистрирована с помощью прослушивателя действий.Как принудительно выполнить действие над компонентом?

Если я меняю текст в текстовом поле и не теряя фокуса, нажмите кнопку, мой слушатель фокуса будет исполнен, а исполнитель действия кнопки никогда не будет выполнен.

Есть ли способ принудительно (программно) вызвать прослушиватель действий на кнопке после фокуса? Слушатель в текстовом поле выполнил свою часть?

+4

Чтобы получить помощь, попробуйте предоставить [SSCCE] (http://pscode.org/sscce.html). – Howard

+1

_without потери фокуса, нажмите на кнопку_, это противоречие само по себе (поскольку focusListener говорит вам :-) _button's action listener никогда не выполняется_, это странно, скорее всего, что-то не так в коде, который вы не показываете. Поэтому лучше следовать совету Говарда, чтобы лучше помочь. – kleopatra

+0

Я думаю, что до тех пор, пока курсор клавиатуры находится в текстовом поле, он не потеряет фокус, и я всегда могу использовать мышь, чтобы нажимать на кнопку, но как только я нажимаю кнопку, фокус-слушатель отвечает за управление и фокусLost текстовых полей выполняется. Моя проблема в том, что событие нажатия кнопки не запускается в этом случае. – Sudhir

ответ

3

Попробуйте позвонить в yourButton.doClick();?

+2

в то время как технически возможно, маловероятно, чтобы _really_ решить проблему OP (что звучит немного странно :-) – kleopatra

Смежные вопросы