หลายวิธีในการเพิ่มกิจกรรมใน Java (พิมพ์ซ้ำจากบทความของ codebrother ที่มีการเปลี่ยนแปลงเล็กน้อย):
/** * การประมวลผลการฟังเหตุการณ์ Java - คลาสของตัวเองใช้อินเทอร์เฟซ ActionListener เป็นตัวฟังเหตุการณ์* * @author codebrother */class EventListener1 ขยาย JFrame ใช้งาน ActionListener { private JButton btBlue, btDialog; public EventListener1() { setTitle("Java GUI การประมวลผลการฟังเหตุการณ์"); setBounds (100, 100, 500, 350); setLayout (ใหม่ FlowLayout()); btBlue = new JButton("Blue"); btDialog = new JButton("Pop-up"); // เพิ่มผู้ฟังเหตุการณ์ไปที่ปุ่ม btBlue.addActionListener(สิ่งนี้); btBlue); เพิ่ม (btDialog); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // *************************** การจัดการเหตุการณ์*********** ******* **************** @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == btBlue) { คอนเทนเนอร์ c = getContentPane( ); c.setBackground(สี .BLUE); } อื่น ๆ ถ้า (e.getSource() == btDialog) { JDialog โต้ตอบ = ใหม่ JDialog(); Dialog.setBounds(300, 200, 400, 300); Dialog.setVisible(true); * การประมวลผลการฟังเหตุการณ์ Java - การประมวลผลคลาสภายใน * * @author codebrother * / คลาส EventListener3 ขยาย JFrame { JButton ส่วนตัว btBlue, btDialog; // ตัวสร้างสาธารณะ EventListener3 () { setTitle("การฟังเหตุการณ์ Java GUI"); setBounds(100, 100, 500, 350); setLayout(new FlowLayout()); window" ); // เพิ่มวัตถุตัวฟังเหตุการณ์ (แนวคิดเชิงวัตถุ) btBlue.addActionListener(new ColorEventListener()); btDialog.addActionListener(ใหม่ DialogEventListener()); เพิ่ม(btDialog); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } // คลาสภายใน ColorEventListener ใช้ ActionListener { @Override โมฆะสาธารณะ actionPerformed(ActionEvent e) { คอนเทนเนอร์ c = getContentPane(); c.setBackground(Color.BLUE); } } // คลาสภายใน DialogEventListener ใช้คลาสอินเทอร์เฟซ ActionListener DialogEventListener ใช้งาน ActionListener { @Override public void actionPerformed (ActionEvent e) { JDialog กล่องโต้ตอบ = JDialog ใหม่ (); Dialog.setBounds (300, 200, 400, 300); dial.setVisible(true); } }}/** * การประมวลผลการฟังเหตุการณ์ Java - การประมวลผลคลาสภายในที่ไม่ระบุชื่อ * * @author codebrother */class EventListener2 ขยาย JButton btBlue, btDialog; () { setTitle("การประมวลผลการฟังเหตุการณ์ Java GUI"); setBounds(100, 100, 500, 350); setLayout(new FlowLayout()); btBlue = new JButton("Blue"); btDialog = new JButton("Pop-up"); // เพิ่มผู้ฟังเหตุการณ์ (คลาสที่ไม่ระบุชื่อที่นี่) btBlue .addActionListener(new ActionListener () { // การจัดการเหตุการณ์ @Override โมฆะสาธารณะ actionPerformed (ActionEvent e) { คอนเทนเนอร์ c = getContentPane(); c.setBackground(Color.BLUE); } }); // และเพิ่มตัวฟังเหตุการณ์ btDialog.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JDialog Dialog = new JDialog() ; Dialog.setBounds(300, 200, 400, 300); dial.setVisible(true); } }); add(btDialog); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ผู้เขียน codebrother */class EventListener4 ขยาย JFrame { JButton ส่วนตัว btBlue, btDialog; EventListener4 สาธารณะ () { setTitle("การฟังเหตุการณ์ Java GUI"); setBounds(100, 100, 500, 350); setLayout(new FlowLayout()); window" ); // เพิ่มผู้ฟังเหตุการณ์ไปที่ปุ่ม btBlue.addActionListener(new ColorEventListener(this)); btDialog.addActionListener(ใหม่ DialogEventListener()); เพิ่ม(btDialog); setVisible(จริง); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}//คลาสภายนอก ColorEventListener ใช้คลาสอินเทอร์เฟซ ActionListener ColorEventListener { ส่วนตัว EventListener4 เอล; ColorEventListener(EventListener4 el) { this.el = el; } @Override public void actionPerformed(ActionEvent e) { คอนเทนเนอร์ c = el.getContentPane(); c.setBackground(Color.BLUE); คลาสอินเทอร์เฟซ ActionListener DialogEventListener ใช้งาน ActionListener { @Override public void actionPerformed (ActionEvent e) { JDialog โต้ตอบ = ใหม่ JDialog (); Dialog.setBounds (300, 200, 400, 300); Dialog.setVisible (จริง); }} ActionListenerTest คลาสสาธารณะ { หลักโมฆะคงที่สาธารณะ (Args สตริง []) { EventListener2 ใหม่(); }}