«Есть» или «Имеет»?Это вопрос, который следует задать при рассмотрении вопроса о расширении класса.Если новый класс «является A» фреймом, расширяйте фрейм, но если классу просто нужна ссылка на фрейм, не расширяет .
Фактически, если пользовательский компонент требуется , расширьте JComponent
или JPanel
, затем добавьте это к фрейму, ..applet, окну, JInternalFrame
, диалогу, ограничению макета, частиразделенная панель ..
Слушатели
Что касается слушателей.Вместо того, чтобы обходить огромную структуру if
/ else
в единственном методе actionPerformed()
для определения требуемого действия, более оптимальным является:
- Создать прослушиватель для каждого элемента управления, который нуждаетсяit.
- Создайте экземпляр
AbstractAction
, который может использоваться для нескольких элементов управления (кнопка «Копировать», пункт меню и т. д.).
Сводка
Так (в общем случае) для:
JFrame
, не расширяйте. - Слушатели, создавайте и добавляйте по мере необходимости.