Огненное действие в подклассе JPanel - PullRequest
2 голосов
/ 16 сентября 2010

Я знаю, как использовать класс ActionListener для получения события actionPerformed - однако я реализовал свой собственный объект JPanel, и я не могу понять, как создать действие и указать, что оно имеетбыло выполнено так, что слушатель внешнего действия может уловить его.В частности, я хочу перехватить действие внутреннего компонента, преобразовать его getSelectedValue() и сохранить его в локальной переменной, доступной через геттер.Затем я хочу указать на изменение так, чтобы внешний класс мог взять это, прочитать значение и действовать в соответствии с ним.

Есть идеи?Я думаю, это довольно просто, но я не могу найти то, что я ищу в Google.

Ответы [ 2 ]

2 голосов
/ 16 сентября 2010

См. Component.dispatchEvent для отправки типов событий, которые уже определены в вашем компоненте. Если вы добавляете новые типы событий, это может потребовать немного больше работы. Посмотрите, как AbstractButton связывается с JComponent listenerList при добавлении параметров ActionListener.

2 голосов
/ 16 сентября 2010

Вы можете использовать шаблон наблюдателя , расширив Observable и совершив вызовы методов setChanged и notifyObservers.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...