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

What is Swing? list out the features of swing. Create a swing application to add integer numbers entered in first and second text field and display sum in last field on clicking ok button and exit on clicking Exit button.

 What is Swing? list out the features of swing. Create a swing application whose snapshot is shown in figure below:


your program should  add integer numbers entered in first and second text field and display sum in last field on clicking ok button.

answer:

Swing is a GUI widget toolkit for Java that is part of the Java Foundation Classes (JFC). It provides a set of GUI components, including buttons, labels, text fields, tables, and more, that can be used to create graphical user interfaces for desktop applications.

Features of Swing:

  1. Platform-independent
  2. Highly customizable
  3. Provides a rich set of components
  4. Supports pluggable look-and-feel
  5. Supports internationalization and accessibility
  6. Offers advanced graphics and animation capabilities

Here's an example Swing application that adds two integer numbers entered in two text fields and displays the sum in a third text field when the user clicks the OK button. It also provides an Exit button to close the application.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class AddNumbers extends JFrame implements ActionListener {
    private JLabel label1, label2, label3;
    private JTextField field1, field2, field3;
    private JButton okButton, exitButton;
    public AddNumbers() {
        super("JAVA");
       
        // Create labels
        label1 = new JLabel("N1 ");
        label2 = new JLabel("N2 ");
        label3 = new JLabel("Result ");
        // Create text fields
        field1 = new JTextField(10);
        field2 = new JTextField(10);
        field3 = new JTextField(10);
        field3.setEditable(false);
        // Create buttons
        okButton = new JButton("OK");
        okButton.addActionListener(this);
        exitButton = new JButton("Exit");
        exitButton.addActionListener(this);
        // Create panel for labels and text fields
        JPanel inputPanel = new JPanel(new GridLayout(3, 2));
        inputPanel.add(label1);
        inputPanel.add(field1);
        inputPanel.add(label2);
        inputPanel.add(field2);
        inputPanel.add(label3);
        inputPanel.add(field3);
        // Create panel for buttons
        JPanel buttonPanel = new JPanel(new FlowLayout());
        buttonPanel.add(okButton);
        buttonPanel.add(exitButton);
        // Add panels to frame
        add(inputPanel, BorderLayout.CENTER);
        add(buttonPanel, BorderLayout.SOUTH);
        pack();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == okButton) {
            try {
                int num1 = Integer.parseInt(field1.getText());
                int num2 = Integer.parseInt(field2.getText());
                int sum = num1 + num2;
                field3.setText(Integer.toString(sum));
            } catch (NumberFormatException ex) {
                JOptionPane.showMessageDialog(this, "Invalid input. Please enter integer numbers only.");
            }
        } else if (e.getSource() == exitButton) {
            System.exit(0);
        }
    }
    public static void main(String[] args) {
        new AddNumbers();
    }
}

This application creates a JFrame window with three text fields for input and output and two buttons for OK and Exit. When the user clicks the OK button, the application reads the input values from the text fields, adds them, and displays the sum in the third text field. If the input values are not valid integers, the application displays an error message. When the user clicks the Exit button, the application terminates.

No comments:

Post a Comment

If you have any doubts, please let me know

Slider Widget