но я уже создал экземпляр родительского класса для расширения jpanel
Вы смотрели пример кода, представленного в учебнике ???
Пример там "
... extends JFrame implements ActionListener
Так что все, что вам нужно:
... extends JPanel implements ActionListener
Или, если вам нужно несколько ActionListeners, более гибкий подход для создания пользовательского класса.
Вы можете использовать «анонимный внутренний класс» для ActionListener
. Что-то вроде:
ActionListener al = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JButton button = (JButton)e.getSource();
String text = button.getText();
Window window = SwingUtilities.windowForComponent(button);
JOptionPane.showMessageDialog(window, text);
}
};
Затем, когда вы создадите кнопку, вы сделаете:
for (String btnText : BTN_TEXTS)
{
JButton button = new JButton( btnText );
button.addActionListener( al );
southBtnPanel.add( button );
}