×

Swing Program in Java

Java Swing is part of Java Foundation Classes (JFC). The swing toolkit is used to generate Graphical User Interface (GUI) for programs written in Java. The Java swing API is more sophisticated and light-weight as compared to AWT (Abstract Window Toolkit). The swing API is also platform-independent. The swing program in Java demonstrates the usage to swing API in the program.

Swing Example

Let’s learn how to create a simple login page using Java Swing. The following program illustrates the same.

FileName: SwingExample.java

 // importing the important classes of the swing API
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class SwingExample
{
// driver method
public static void main(String argvs[])
{   
               // Creating an object of the class JFrame with a title
               JFrame f = new JFrame("A basic login page");
               // providing the breadth and height of the frame
               f.setSize(325, 199);
               // to force the application to terminate, when the x button is pressed
               f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
               // Creating a panel. A frame can have many panels attached to it
               JPanel p = new JPanel();
               // Panel p has to be attached with the frame
               f.add(p);
               //invoking the custom method addComponents for providing components
               // to the panel p
               addComponents(p);
               // Setting the visibility of the frame to true value
               f.setVisible(true);
}
private static void addComponents(JPanel pnl)
{
               // Creating JLabel
               JLabel usrLabel = new JLabel("User Name");
               // The method setBounds() serves two purposes.
               // One purpoase is to specify the position of the label
               // by taking reference from the top left corner (10, 20) of the panel
               // Another purpose is to provide the size of the label (80, 25)
               // x, y coordinates => 11 and 21
               // width, height => 81, 26
               usrLabel.setBounds(11,21,81,26);
               // adding the 'User Name' label to the panel
               pnl.add(usrLabel);
               //Creating a text field where the user is supposed to
               //enter user name.
               JTextField usrText = new JTextField(21);
               // providing position and size of the text field
               usrText.setBounds(101,21,166,26);
               // adding text field to the panel
               pnl.add(usrText);
               // Adding another label User Password
               JLabel pswdLabel = new JLabel("User Password");
               // providing position and size of the label User Password
               // by invoking the method setBounds
               pswdLabel.setBounds(11,51,81,26);
               // adding the 'User Password' label to the panel
               pnl.add(pswdLabel);
               //Creating a password field where the user is supposed to
               //enter user password.
               JPasswordField pswdText = new JPasswordField(21);
               // providing position and size of the password field
               pswdText.setBounds(101,51,166,26);
               // adding password field to the panel
               pnl.add(pswdText);
               // Creating a button 'User Login'
               JButton loginBtn = new JButton("User Login");
               // providing position and size to the 'User Login' button
               loginBtn.setBounds(11, 81, 79, 26);
               // adding the button to the panel
               pnl.add(loginBtn);
}
} 

Output:

Swing Program In Java

Explanation: The UI created above has a lot of parts. One of the parts is JFrame.

JFrame: JFrame is the first part that comes into existence in a swing application. It contains the title, panels, various buttons, text fields, etc. JFrame is the most fundamental part of a swing UI application.

JFrame f = new JFrame("A basic login page");

The above statement creates a JFrame with the title “A basic login page”

The JFrame does not contain the buttons or fields directly. The frame needs a panel for it.

JPanel: The JPanel class is responsible for creating panels in a swing application. A frame can have more than one panel. A panel is responsible for the positioning or size of fields, buttons, etc. A panel in the swing is similar to a div tag in HTML. Both are used for the grouping of elements/ components.

JPanel p = new JPanel();

The above statement creates a new panel for the Java swing application. After the creation of the panel, we can add components like labels, text fields, buttons, etc.

JLabel: The text written in output (User Name, User Password) is due to the class JLabel. The main usage of the JLabel class is to put labels/ texts in the GUI.

JLabel usrLabel = new JLabel("User Name");

The above statement creates a label ‘User Name’. Similarly, other labels can also be created.

JTextField: Corresponding to the label ‘User Name’, it is required to allow the user to enter his/ her user name. To serve this purpose, the class JTextField is used. abc shown in the output is written by the user.

JTextField usrText = new JTextField(21);

The above statement creates an empty text field with the given column numbers, i.e., 21.

JPasswordField: The class JPasswordField is similar to JTextField. The only difference is that the class JPasswordField hides the input given by the user and shows only dots, which is normal behavior when the password is entered on any login page. The output also shows the same.

JPasswordField pswdText = new JPasswordField(21);

The above-written statement creates a new password field of column size 21.

JButton: A login button is required to validate the of inputs given by the user. For the creation of a login button, the class JButton is used. The following statement creates a button and puts the label “User Login” on it.

JButton loginBtn = new JButton("User Login");

Cross button (X): The cross button terminates the application when pressed (look at the top right corner of the output). It happens because of the following:

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

The statement has to be present to terminate the program. Because the default behavior of the cross button is to hide the application. Comment the above statement in the program, and observe the behavior.


Related Topics

Interleaving string in Java

If the string Str3 contains all of the characters from Str1 and Str2, it is considered interleaving Str1 and Str2. Keep in mind that the order of all characters in...

5 minutes read.

Java String equalsIgnoreCase() method

equalsIgnoreCase() method compares two Strings based on the their content but ignore the case. Syntax public boolean equalsIgnoreCase(Objects anObject) Parameter anObject: Object to be compared with the current String without case consideration. Returns It returns true...

1 minute read.

Interchange Diagonal elements in Java

In this article, you will be very well acknowledged about what is a matrix with an example. You will also be acknowledged about how to interchange the diagonal elements in...

4 minutes read.

How to check Date Null in Java?

In this section, we will be acknowledged about Date Null in Java. The date null in Java is an entity that is used when there is no specified value for...

3 minutes read.

Java Boolean toValue() Method

The valueOf() method of Java Boolean class returns a Boolean object representing the given Boolean or String value. It returns true, if the specified Boolean or string object is true...

2 minutes read.

Java String contains() method

contains() method returns true only if it contains the given sequence of characters otherwise it returns false. syntax: public boolean contains(CharSequence sequence) parameters: sequence : It is the sequence to be searched. Returns: It returns true...

1 minute read.

What is interpreter in Java?

The programming language Java is platform-neutral. Therefore, can use Java on any platform that supports the Java processor. The Piece of software transforms the Java bytecode contained in the class...

5 minutes read.

Check whether a Number is a Power of 4 or Not in Java

There are many ways to figure out if an integer is a power of 4. This section will go over a variety of techniques for figuring out whether or not...

11 minutes read.

Java Math cos() Method

The cos() method of Math class returns the trigonometric cosine of the specified angle. Syntax: public static double cos(double a) Parameters: The parameter ‘a’ represents an angle measured in radians. Return Value: The cos() method returns...

1 minute read.

Quick Sort in Java

Quick Sort in Java Like merge sort, quick sort also uses the divide and conquer approach to sort the given array or list. In quick sort, the sorting of an array...

6 minutes read.

Java String replaceAll() method

Java String replaceAll() method returns a String replacing all the sequence of characters matching regular expression i.e regex and replacement string. Syntax: public String replaceAll(String regex, String replacement) Parameters: regex : regular expression replacement :...

1 minute read.

How to Calculate Time Difference Between Two Dates in Java?

Date is being used extensively in Java to calculate date differences. While constructing an application, the date of joining an organisation, admission date, appointment date, and others might be included....

4 minutes read.

Java Default Keyword

The Default keyword in java programming language is used as access modifier.If any of the variable or the constructor or the methods or the classes are not assigned with the...

3 minutes read.

How to sort a String in Java

Sorting is the process of putting the elements in a certain order, either ascending or descending. Mostly the alphabetical order or natural order is used for a string. In other...

5 minutes read.

Java Protected Keyword

An access modifier is a keyword that Java protects. It can be used to constructors, methods, inner classes, and variables. Variables, methods, and constructors that have been marked protected in...

3 minutes read.

What is advance Java?

The definition of advance inside the dictionary refers to a forward motion, development, or progress, and the definition of enhancing is something that improves things. To become experts in that...

3 minutes read.

Hidden classes in Java

There specifically are some APIs available in the market that generally is harmful to be used in our programs specifically literally, and until JDK 15, there, for all intents and...

4 minutes read.

Java Switch Keyword

In this article we are going to learn the concept of a java switch keyword. Generally, java case keyword is used with the switch statements or keyword.Switch keyword is implemented in...

3 minutes read.

Java Date add Days

In order to operate with the time and the Date in Java, we used the abstract Calendar class. It has several helpful interfaces that enable us to convert dates between...

4 minutes read.

CRC Program in Java

The acronym CRC stands for Cyclic Redundancy Check. It is invented by W. Wesley Peterson in 1961. It is an error detection technique that detects errors in digital networks (also...

5 minutes read.