код из существующего компонента Swing,
у создать (простой, надеюсь) пользовательский компонент Swing, составив несколько существующих компонентов. В моем случае это двухпозиционный переключатель, который состоит из JLabel и двух кнопок J для включения и выключения. Я начинаю OnOffSwitch с расширения JPanel. Конструктор добавляет подкомпоненты и устанавливает себя как ActionListener для кнопок. Класс имеет метод isOn () для запроса текущего состояния компонента.
Теперь я хочу добавить возможность добавления ActionListeners в класс OnOffSwitch. Я ожидал, что эта функциональность будет бесплатной, если расширить компонент Swing, такой как JPanel, но JPanel не имеет этой функциональности. Судя по источникам, каждый компонент Swing, у которого есть эта функциональность, сам реализует его: добавление слушателей в список, запуск ActionEvents и т. Д.
Как правильно добиться того, чего я хочу? Я могу скопировать / вставить этот код из различных компонентов Swing (или переписать его суть) или реализовать собственный интерфейс OnOffSwitchListener. Чтобы быть последовательным, кажется, что все мои компоненты должны использовать ActionListeners.