private static final long serialVersionUID = 1L;
private JLabel lengthL, widthL,
areaL, perimeterL;
private JTextField lengthTF, widthTF,areaTF, perimeterTF;
private JButton calculateB, exitB;
private CalculateButtonHandler cbHandler;
private ExitButtonHandler ebHandler;
private static final int WIDTH = 400;
private static final int HEIGHT = 300;
public Rectangle ()
{
// Create four labels
lengthL = new JLabel("Enter the length: ",
SwingConstants.RIGHT);
widthL = new JLabel("Enter the width: ",
SwingConstants.RIGHT);
areaL = new JLabel("Area: ",SwingConstants.RIGHT);
perimeterL = new JLabel("Perimeter: ",
SwingConstants.RIGHT);
//Create four textfields
lengthTF = new JTextField(10);
widthTF = new JTextField(10);
areaTF = new JTextField(10);
perimeterTF = new JTextField(10);
//create Calculate Button
calculateB = new JButton("Calculate");
cbHandler = new CalculateButtonHandler();
calculateB.addActionListener((ActionListener) cbHandler);
//calcualte button you are making the program listen to it.
//Create Exit Button
exitB = new JButton("Exit");
ebHandler = new ExitButtonHandler();
exitB.addActionListener(ebHandler);
//Set the title of the window
setTitle("Area and Perimeter of a Rectangle");
//Get the container
Container pane = getContentPane();
//Set the layout
pane.setLayout(new GridLayout(5,2));
//Place all items created
pane.add(lengthL);
pane.add(lengthTF);
pane.add(widthL);
pane.add(widthTF);
pane.add(areaL);
pane.add(areaTF);
pane.add(perimeterL);
pane.add(perimeterTF);
pane.add(calculateB);
pane.add(exitB);
//set the size of the window and display it
setSize(WIDTH,HEIGHT);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private class CalculateButtonHandler implements ActionListener
{
public void actionPerformed1(ActionEvent e)
{
double width, length, area, perimeter;
private static final int WIDTH = 400;
private static final int HEIGHT = 300;
public Rectangle () {
lengthL = new JLabel("Enter the length: ", SwingConstants.RIGHT);
widthL = new JLabel("Enter the width: ", SwingConstants.RIGHT);
areaL = new JLabel("Area: ",SwingConstants.RIGHT);
perimeterL = new JLabel("Perimeter: ", SwingConstants.RIGHT);
lengthTF = new JTextField(10);
widthTF = new JTextField(10);
areaTF = new JTextField(10);
perimeterTF = new JTextField(10);
calculateB = new JButton("Calculate");
calculateB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double width, length, area, perimeter;