Introduction
This article explains how to create a User Login in a Windows Forms application using the Swing concept of Java. The NetBeans IDE is used to create this application.
User Login App
For creating this app we need the following files:
- Java file
- SQL table
- ojdbc.jar file
1. Login.java
This Java file consists of all the logic. First of all we initialize JFrame components using a constructor, then create a database connection and finally set the database value to the textfield. If the given name is not found in the database then it displays an error message and displays it by running the constructor.
2. reg.sql
For fetching records we need a database table; for that we create a "reg" table in our database.
Syntax
reg.sql
create table emp
(
name varchar2(30), email varchar2(40),
pass varchar2(30), count varchar2(30),
state varchar2(30), phone number(15)
);
Insert some rows in it
1. insert into emp values ('Sandeep', '[email protected]', 'welcome', 'India','U.P','9717789441');
2. insert into emp values ('rahul', '[email protected]' , '1234', 'India','U.P','9015909090');
Now let's start creating this app. Use the following procedure to do that in the NetBeans IDE.
Step 1
Open the NetBeans IDE.
Step 2
Choose "Java" -> "Java application" as shown below
Step 3
Provide the project the name "LoginApp" as in the following.
Step 4
Create a Java class named "Login" with the following code.
Login.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class Login extends JFrame implements ActionListener
{
JLabel l1, l2, l3;
JTextField tf1;
JButton btn1;
JPasswordField p1;
Login()
{
setTitle("Login Form in Windows Form");
setVisible(true);
setSize(800, 800);
setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
l1 = new JLabel("Login Form in Windows Form:");
l1.setForeground(Color.blue);
l1.setFont(new Font("Serif", Font.BOLD, 20));
l2 = new JLabel("Enter Email:");
l3 = new JLabel("Enter Password:");
tf1 = new JTextField();
p1 = new JPasswordField();
btn1 = new JButton("Submit");
l1.setBounds(100, 30, 400, 30);
l2.setBounds(80, 70, 200, 30);
l3.setBounds(80, 110, 200, 30);
tf1.setBounds(300, 70, 200, 30);
p1.setBounds(300, 110, 200, 30);
btn1.setBounds(150, 160, 100, 30);
add(l1);
add(l2);
add(tf1);
add(l3);
add(p1);
add(btn1);
btn1.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
showData();
}
public void showData()
{
JFrame f1 = new JFrame();
JLabel l, l0;
String str1 = tf1.getText();
char[] p = p1.getPassword();
String str2 = new String(p);
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@mcndesktop07:1521:xe", "sandeep", "welcome");
PreparedStatement ps = con.prepareStatement("select name from reg where email=? and pass=?");
ps.setString(1, str1);
ps.setString(2, str2);
ResultSet rs = ps.executeQuery();
if (rs.next())
{
f1.setVisible(true);
f1.setSize(600, 600);
f1.setLayout(null);
l = new JLabel();
l0 = new JLabel("you are succefully logged in..");
l0.setForeground(Color.blue);
l0.setFont(new Font("Serif", Font.BOLD, 30));
l.setBounds(60, 50, 400, 30);
l0.setBounds(60, 100, 400, 40);
f1.add(l);
f1.add(l0);
l.setText("Welcome " + rs.getString(1));
l.setForeground(Color.red);
l.setFont(new Font("Serif", Font.BOLD, 30));
} else
{
JOptionPane.showMessageDialog(null,
"Incorrect email-Id or password..Try Again with correct detail");
}
}
catch (Exception ex)
{
System.out.println(ex);
}
}
public static void main(String arr[])
{
new Login();
}
}
Note
You need to add a JAR file named "ojdbc.jar" to set up the database connection.
Step 5
Now our application is ready to run.
Right-click on the project menu then select "Run". The following output will be generated.
Step 6
Now provide some incorect detail first.
Case 1
Enter an incorect email id. The following error is generated.
Case 2
Enter an incorect password. The following error is generated.
Step 7
Now login with a correct email and password. The following output is generated.
Case 1
Login with "Sandeep".
Case 2
Login with "Rahul".