×

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

Memory Leak in Java

Java offers memory management right out of the box. When we use the new keyword to create an object, the JVM initialises for that object immediately. The trash collector automatically...

3 minutes read.

Split String into String Array in Java

The String split() technique returns a variety of divided strings after the strategy parts the given String around matches of a given normal articulation containing the delimiters. The ordinary articulation...

4 minutes read.

Matrix Multiplication Program in Java

Matrix Multiplication Program in Java The matrix multiplication program in Java is the continuation of the matrix program in Java that we have already discussed earlier. In this section, we will...

3 minutes read.

Java Strictfp Keyword

Strictfp is used to impose limits on floating-point calculation. It ensures that we will get the same result on every platform while performing an operation with the floating-point variable. The floating-point calculation is platform-dependent due...

1 minute read.

Static class in Java

In Java, a class is a file containing the Java byte code. It can essentially specifically be executed on the JVM (Java Virtual Machine), fairly significant. The JVM is mostly...

7 minutes read.

Java IO

It is a part of java libraries but is often known as I/O streams, file I/O, and file handling. The Java I/O concept satisfies the need for input processing and...

4 minutes read.

Java String startsWith() method

Java String startsWith() method checks whether current String starts with given prefix or not . Syntax: public boolean startsWith(String prefix) public boolean startsWith(String prefix, int offset) Parameters: prefix : It is sequence of character Returns: It returns...

2 minutes read.

AbstractSet Class in Java

The AbstractSet class is used for the implementation of the Abstract Collection class and interface. It is the part of Collection Frameworks. In the AbstractSet, the implementation is same as the...

3 minutes read.

PriorityBlockingQueue Class in Java

What is the Queue? An abstract data structure like Stacks is a queue. A queue is open on both ends. Data is always pushed to one end, called enqueue, and removed...

4 minutes read.

String Manipulation in Java

String Manipulation in Java In Java, string manipulation is a common task performed by programmer. Java String class provides many built-in functions that are used to manipulate string. The manipulation of...

4 minutes read.

Java Integer rotateLeft() method

The rotateLeft() method of Java Integer class returns the value obtained by rotating the  2’s complement binary representation of the given integer value left by the specified number of bits. Syntax public...

1 minute read.

How to Convert int to double in Java

How to Convert int to double in Java When two variables of different types are involved in the single expression, Java compiler uses built-in library function to convert the variable to...

2 minutes read.

For Loop Program in Java

For Loop Program in Java The for-loop program in Java is written when we want a particular set of statements to be executed repeatedly until the given criteria/ condition is met....

8 minutes read.

How to check Date is Greater in Java?

In this article, you will be acknowledged about how to check if the given date is greater than the other date or not. We are simply comparing the dates and...

7 minutes read.

How to Round Double Float up to Two Decimal Places in Java

It indicates 15 digits just after the decimal place in Java whenever a double data type is used in front of a variable. For example, when representing rupees and other...

4 minutes read.

Java Read File Line by line

Java provides two options to read files line by line. Each option offers different benefits and has its own set of drawbacks. Following are the ways through which on accomplish...

5 minutes read.

Java Math tan() Method

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

2 minutes read.

Matrix Multiplication in Java

In Java, using the binary operator (*) we can perform matrix multiplication. A Matrix is a group of arrays. In the multiplication of matrices, the elements of each row are...

3 minutes read.

Iccanobif Numbers in Java

In this article, you will be very well equipped with the knowledge of iccanobif numbers in Java. You will also know how they are formed and basic example programs on...

3 minutes read.

Java Constant

A constant is an unchangeable entity in coding, as its title implies. The value which cannot be altered, in other terms. We shall understand about Java constants and exactly how...

3 minutes read.