This blog is about providing theory as well as simple executable codes of different programming languages such as java, C, C++, and web programming, etc. This blog will be helpful to the IT students to learn about programming.

Thursday, March 2, 2023

Write a GUI program to calculate the sum and difference of two numbers input by the users as shown as below window.

 


here's an example GUI program in Java that allows users to input two numbers and calculates their sum or difference depending on which button they click:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class AddSubGUI extends JFrame implements ActionListener {

    private JTextField num1Field, num2Field, resultField;
    private JLabel calc, num1Label, num2Label, resultLabel;
    private JButton addButton, subButton;

    public AddSubGUI() {
        setTitle("Calculator");
        setSize(400, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);

        calc = new JLabel("Calculator");

        num1Label = new JLabel("First Number:");
        num1Field = new JTextField(10);

        num2Label = new JLabel("Second Number:");
        num2Field = new JTextField(10);

        resultLabel = new JLabel("Result:");
        resultField = new JTextField(10);
        resultField.setEditable(false);

        addButton = new JButton("Add");
        addButton.addActionListener(this);

        subButton = new JButton("Sub");
        subButton.addActionListener(this);

        JPanel calcu = new JPanel(new GridLayout(1, 1));
        calcu.add(calc);
       
        JPanel panel = new JPanel(new GridLayout(3, 2));
        panel.add(num1Label);
        panel.add(num1Field);
        panel.add(num2Label);
        panel.add(num2Field);
        panel.add(resultLabel);
        panel.add(resultField);
        
        JPanel buttonPanel = new JPanel(new FlowLayout());
        buttonPanel.add(addButton);
        buttonPanel.add(subButton);

        Container contentPane = getContentPane();
        contentPane.add(calcu,  BorderLayout.NORTH);
        contentPane.add(panel, BorderLayout.CENTER);
        contentPane.add(buttonPanel, BorderLayout.SOUTH);
    }

    public void actionPerformed(ActionEvent e) {
        try {
            int num1 = Integer.parseInt(num1Field.getText());
            int num2 = Integer.parseInt(num2Field.getText());
            int result;
            if (e.getSource() == addButton) {
                result = num1 + num2;
            } else {
                result = num1 - num2;
            }
            resultField.setText(Integer.toString(result));
        } catch (NumberFormatException ex) {
            JOptionPane.showMessageDialog(this, "Please enter valid numbers.", "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    public static void main(String[] args) {
        AddSubGUI calculator = new AddSubGUI();
        calculator.setVisible(true);
    }
}

This program creates a JFrame with four JLabels, three JTextFields, and two JButtons. Users can input two numbers into the num1Field and num2Field text fields, and then click the Add button to calculate the sum of the two numbers or the Sub button to calculate the difference of the two numbers. The result is displayed in the resultField text field. If the user enters invalid input (i.e. non-numeric characters), an error message is displayed.

To use this program, simply compile and run the AddSubGUI class:

$ javac AddSubGUI.java
$ java AddSubGUI

No comments:

Post a Comment

If you have any doubts, please let me know

Slider Widget