Beberapa cara menambahkan event di Java (dicetak ulang dari artikel codebrother dengan sedikit perubahan):
/** * Pemrosesan mendengarkan acara Java - kelasnya sendiri mengimplementasikan antarmuka ActionListener sebagai pendengar acara* * @author codebrother */class EventListener1 extends JFrame mengimplementasikan ActionListener { private JButton btBlue, btDialog; Pemrosesan mendengarkan acara"); setBounds(100, 100, 500, 350); setLayout(baru FlowLayout()); btBlue = new JButton("Blue"); btBiru); tambahkan(btDialog); setVisible(benar); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // ***************************Penanganan acara*********** ******* **************** @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == btBlue) { Kontainer c = getContentPane( ); c.setBackground(Warna .BLUE } else if (e.getSource() == btDialog) { Dialog JDialog = new JDialog(); dialog.setBounds(300, 200, 400, 300); dialog.setVisible(true); class EventListener3 extends JFrame { private JButton btBlue, btDialog; // Konstruktor public EventListener3() { setTitle("Mendengarkan dan memproses acara Java GUI"); setBounds(100, 100, 500, 350); setLayout(new FlowLayout()); jendela" ); // Tambahkan objek pendengar acara (ide berorientasi objek) btBlue.addActionListener(baru ColorEventListener()); btDialog.addActionListener(new DialogEventListener()); add(btBlue); add(btDialog); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mengimplementasikan ActionListener { @Override public void actionPerformed(ActionEvent e) { Kontainer c = getContentPane(); c.setBackground(Color.BLUE) } // Kelas internal DialogEventListener, mengimplementasikan antarmuka ActionListener kelas DialogEventListener mengimplementasikan ActionListener { @Override public void actionPerformed(ActionEvent e) { JDialog dialog = JDialog baru(); dialog.setBounds(300, 200, 400, 300); dialog.setVisible(true); () { setTitle("Pemrosesan mendengarkan acara Java GUI"); setBounds(100, 100, 500, 350); setLayout(new FlowLayout()); // Tambahkan pendengar acara (kelas anonim di sini) btBlue .addActionListener(new ActionListener() { //Penanganan acara @Override public void actionPerformed(ActionEvent e) { Kontainer c = getContentPane(); c.setBackground(Color.BLUE } }); // Dan tambahkan pendengar acara 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); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); penulis kodesaudara */kelas EventListener4 extends JFrame { private JButton btBlue, btDialog; public EventListener4() { setTitle("Mendengarkan dan memproses acara Java GUI"); setBounds(100, 100, 500, 350); setLayout(new FlowLayout()); window" ); // Tambahkan pendengar acara ke tombol 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(); Kelas antarmuka ActionListener DialogEventListener mengimplementasikan ActionListener { @Override public void actionPerformed(ActionEvent e) { dialog JDialog = new JDialog(); dialog.setBounds(300, 200, 400, 300); dialog.setVisible(true }}kelas publik ActionListenerTest{ public static void main(String args[]) { EventListener2 baru(); }}