Получение событий действий кнопок, размещенных в другом компоненте - PullRequest
2 голосов
/ 07 июля 2011

Можно ли отобразить кнопку вне компонента, в котором она находится.Мой вопрос кажется странным, но ситуация такова: у меня есть JFrame.У меня также есть класс JPanel, в котором я переопределяю метод paintComponent (), метод getPreferredSize () и т. Д. Я создаю объект подкласса JPanel и помещаю его в JFrame.Все идет нормально.Теперь я хочу, чтобы вещи внутри JPanel вели себя в соответствии с нажатием кнопки.Но я не хочу размещать кнопку внутри JPanel, потому что она заблокирует некоторую анимацию, происходящую внутри панели.Так что я помещу его вне JPanel, может быть, в другой JPanel в JFrame.Но тогда как мне получить событие нажатия кнопки, которое происходит внутри второй панели, в первую.

1 Ответ

1 голос
/ 07 июля 2011

В этой анимации , SubwayPanel имеет доступ к ButtonPanel, который управляет одним аспектом симуляции. Когда таймер срабатывает, SubwayPanel может проверить состояние кнопки через ButtonPanel#getButton().

Добавление. Более общее решение заключается в использовании Action, который «может использоваться для отделения функциональности и состояния от компонента». Вот связанный пример .

...