Objectives
- Create and use event handlers
- Shut down the GUI thread in a program when exiting
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class GUIDemo1 extends JFrame { public static void main(String[] args) { GUIDemo1 app = new GUIDemo1(); } public GUIDemo1() { SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } private void createAndShowGUI() { Container c = getContentPane(); c.setLayout(new BorderLayout()); JButton btnExit = new JButton("Exit"); ExitListener listener = new ExitListener(); btnExit.addActionListener(listener); c.add(btnExit, BorderLayout.SOUTH); setSize(200, 300); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } } class ExitListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.exit(0); } }