modified RetirementCalculator class to work as an applet or a stand-alone java application

git-svn-id: svn://anubis/gvsu@430 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
josh 2009-10-01 22:55:51 +00:00
parent a6e8d33cb0
commit 76ea152c71
2 changed files with 59 additions and 3 deletions

View File

@ -1,6 +1,12 @@
MAINCLASS := RetirementCalculator
all: all:
javac RetirementCalculator.java javac $(MAINCLASS).java
.PHONY: run
run:
java $(MAINCLASS)
clean: clean:
-rm -f *.class -rm -f *.class

View File

@ -1,15 +1,47 @@
import java.awt.*; import java.awt.*;
import java.awt.event.*;
import javax.swing.*; import javax.swing.*;
import java.util.*; 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 public class RetirementCalculator extends JApplet
{ {
final static private String PROG_NAME = "Josh's Retirement Calculator";
RetirementCalculatorPanel panel;
public void init() public void init()
{ {
setLayout(new BorderLayout()); setLayout(new BorderLayout());
JButton b = new JButton("Hi"); panel = new RetirementCalculatorPanel();
add("South", b); add(panel, BorderLayout.CENTER);
} }
public void destroy() public void destroy()
@ -23,4 +55,22 @@ public class RetirementCalculator extends JApplet
public void stop() 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);
}
});
}
} }