import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; /* * The main work of the application is done in this JPanel-extending class. * This allows the java class to be run as a stand-alone application or * as an applet within a web browser. */ class RetirementCalculatorPanel extends JPanel implements ActionListener { private JButton b; public RetirementCalculatorPanel() { setLayout(new BorderLayout()); b = new JButton("Hi There"); b.addActionListener(this); add("South", b); } public void actionPerformed(ActionEvent e) { b.setEnabled(false); } } /* * The "main" class of this file allows the app to be run as an applet * but also provides a "main" method to run as an application. */ public class RetirementCalculator extends JApplet { final static private String PROG_NAME = "Josh's Retirement Calculator"; RetirementCalculatorPanel panel; public void init() { setLayout(new BorderLayout()); panel = new RetirementCalculatorPanel(); add(panel, BorderLayout.CENTER); } public void destroy() { } public void start() { } public void stop() { } public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(PROG_NAME); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); RetirementCalculatorPanel panel = new RetirementCalculatorPanel(); frame.getContentPane().add(panel); frame.pack(); frame.setVisible(true); } }); } }