Várias maneiras de adicionar eventos em Java (reimpresso do artigo do codebrother com pequenas alterações):
/** * Processamento de escuta de eventos Java - sua própria classe implementa a interface ActionListener como um ouvinte de eventos* * @author codebrother */class EventListener1 estende JFrame implements ActionListener { private JButton btBlue, btDialog public EventListener1() { setTitle("Java GUI; Processamento de escuta de eventos"); setBounds(100, 100, 500, 350); setLayout(new FlowLayout()); btBlue = new JButton("Blue"); btDialog = new JButton("Pop-up"); // Adicionar ouvinte de evento ao botão btBlue.addActionListener(this); btBlue); add(btDialog); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE } // ***************************Manipulação de eventos*********** ******* **************** @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == btBlue) { Container c = getContentPane( ); c.setBackground(Color .BLUE } else if (e.getSource() == btDialog) { JDialog dialog = new JDialog(); dialog.setBounds(300, 200, 400, 300); dialog.setVisible(true); class EventListener3 estende JFrame { private JButton btBlue, btDialog; // Construtor public EventListener3() {; setTitle("Escuta e processamento de eventos Java GUI"); setBounds("Blue"); window" ); // Adiciona objeto ouvinte de evento (ideia orientada a objetos) btBlue.addActionListener(new ColorEventListener()); btDialog.addActionListener(new DialogEventListener()); // Classe interna ColorEventListener, implementa a classe de interface ActionListener ColorEventListener); implementa ActionListener { @Override public void actionPerformed(ActionEvent e) { Container c = getContentPane(); c.setBackground(Color.BLUE); diálogo = novo JDialog(); 200, 400, 300); dialog.setVisible(true); } }}/** * Processamento de escuta de evento Java - processamento de classe interna anônima * * @author codebrother */class EventListener2 estende JFrame { private JButton btBlue, btDialog public EventListener2; () { setTitle("Processamento de escuta de evento Java GUI"); 500, 350); setLayout(new FlowLayout()); btBlue = new JButton("Blue"); ActionListener() { //Manipulação de eventos @Override public void actionPerformed(ActionEvent e) { Container c = getContentPane(); c.setBackground(Color.BLUE } }); // E adicionar ouvinte de evento btDialog.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JDialog dialog = new JDialog() ; dialog.setBounds(300, 200, 400, 300); dialog.setVisible(true); add(btBlue); add(btDialog); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); autor codebrother */class EventListener4 estende JFrame { private JButton btBlue, btDialog public EventListener4() {; setTitle("Escuta e processamento de eventos Java GUI"); setBounds("Blue"); window" ); // Adiciona um ouvinte de evento ao botão btBlue.addActionListener(new ColorEventListener(this)); btDialog.addActionListener(new DialogEventListener()); add(btBlue); add(btDialog); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); EventListener4 el; ColorEventListener(EventListener4 el) { this.el = el } @Override public void actionPerformed(ActionEvent e) { Container c = el.getContentPane(); Classe de interface ActionListener DialogEventListener implementa ActionListener { @Override public void actionPerformed(ActionEvent e) { JDialog dialog = new JDialog(); public static void main(String args[]) { novo EventListener2();