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.

Wednesday, March 8, 2023

What is Swing and AWT? Create Swing application that receive two numbers through a JTextFields and display the multiplication of two numbers in a JTextField when the OK button is pressed and when Exit button is pressed the program will terminate.

 Swing and AWT are Java GUI (Graphical User Interface) libraries used for creating user interfaces for Java applications. AWT (Abstract Window Toolkit) is an older GUI library, while Swing is a newer, more feature-rich library that was developed to overcome some of the limitations of AWT.

Here's an example Swing application that receives two numbers through JTextFields and displays the multiplication of two numbers in a JTextField when the OK button is pressed, and terminates the program when the Exit button is pressed:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MultiplyApp extends JFrame {
    private JTextField num1Field, num2Field, resultField;
    private JButton okButton, exitButton;
    public MultiplyApp() {
        // set up the main frame
        setTitle("Multiplication App");
        setSize(400, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // create the input fields and labels
        JLabel num1Label = new JLabel("Number 1:");
        num1Field = new JTextField(10);
        JLabel num2Label = new JLabel("Number 2:");
        num2Field = new JTextField(10);
        // create the result field and label
        JLabel resultLabel = new JLabel("Result:");
        resultField = new JTextField(10);
        resultField.setEditable(false);
        // create the OK and Exit buttons
        okButton = new JButton("OK");
        exitButton = new JButton("Exit");
        // add event listeners to the buttons
        okButton.addActionListener(new OkButtonListener());
        exitButton.addActionListener(new ExitButtonListener());
        // add the components to the frame
        JPanel mainPanel = new JPanel(new GridLayout(4, 2));
        mainPanel.add(num1Label);
        mainPanel.add(num1Field);
        mainPanel.add(num2Label);
        mainPanel.add(num2Field);
        mainPanel.add(resultLabel);
        mainPanel.add(resultField);
        mainPanel.add(okButton);
        mainPanel.add(exitButton);
        add(mainPanel);
        // display the frame
        setVisible(true);
    }
    private class OkButtonListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            // get the values from the input fields
            int num1 = Integer.parseInt(num1Field.getText());
            int num2 = Integer.parseInt(num2Field.getText());
            // calculate the result and display it
            int result = num1 * num2;
            resultField.setText(Integer.toString(result));
        }
    }
    private class ExitButtonListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            // terminate the program
            System.exit(0);
        }
    }
    public static void main(String[] args) {
        // create an instance of the application
        MultiplyApp app = new MultiplyApp();
    }
}

In this example, we create a JFrame, which is the main window of the application. We then create several components, such as JTextFields, JLabels, and JButtons, and add them to the JFrame. We also create two event listeners for the OK and Exit buttons, which perform the necessary actions when the buttons are clicked.

When the OK button is clicked, the event listener retrieves the values from the input fields, multiplies them together, and displays the result in the result field. When the Exit button is clicked, the event listener terminates the program by calling the System.exit() method.

To run this application, you can compile the code and run the resulting .class file, or you can use an IDE such as Eclipse or NetBeans to create a new Java project and add this code to it.

No comments:

Post a Comment

If you have any doubts, please let me know

Slider Widget