Monday, August 18, 2014

JAVA GUI Demo 1 - Addition of two Numbers


package guidemo1additionoftwonumbers;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Main extends JFrame implements ActionListener {

    private JTextField n1TextField, n2TextField, sumTextField;
    private JButton computeButton, clearButton;

    public Main() {
        setTitle("Addition");
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new GridLayout(4, 2, 5, 10));
        n1TextField = new JTextField(10);
        n2TextField = new JTextField(10);
        sumTextField = new JTextField(10);
        sumTextField.setEditable(false);

        computeButton = new JButton("Compute");
        clearButton = new JButton("Clear");

        computeButton.addActionListener(this);
        clearButton.addActionListener(this);

        add(new JLabel("N1"));
        add(n1TextField);
        add(new JLabel("N2"));
        add(n2TextField);
        add(new JLabel("Sum"));
        add(sumTextField);
        add(computeButton);
        add(clearButton);

        pack();
        setVisible(true);


    }

    public static void main(String[] args) {
        Main frame = new Main();
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equals("Compute")) {
            int n1, n2, sum;
            try {
                n1 = Integer.parseInt(n1TextField.getText());
                try {
                    n2 = Integer.parseInt(n2TextField.getText());
                    sum = n1 + n2;
                    sumTextField.setText(String.valueOf(sum));
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(this, "Invalid Input for N2!", "Error Message", JOptionPane.ERROR_MESSAGE);
                    n2TextField.requestFocus();
                }
            } catch (Exception ex) {
                JOptionPane.showMessageDialog(this, "Invalid Input for N1!", "Error Message", JOptionPane.ERROR_MESSAGE);
                n1TextField.requestFocus();
            }
        } else if (e.getActionCommand().equals("Clear")) {
            n1TextField.setText(null);
            n2TextField.setText(null);
            sumTextField.setText(null);
        }
    }
}

No comments:

Post a Comment