import javax.swing.
*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverAction;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.*;
public class LoginForm extends JDialog {
private JTextField tfUsername;
private JPasswordField pfPassword;
private JButton btnLogin;
private JButton btnCancel;
private JPanel loginPanel;
public LoginForm(JFrame parent){
super(parent);
setTitle("Login");
setContentPane(loginPanel);
setMinimumSize(new Dimension(350, 375));
setModal(true);
setLocationRelativeTo(parent);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
btnLogin.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
loginUser();
});
btnCancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dispose();
});
setVisible(true);
private void loginUser() {
String username = tfUsername.getText();
String password = String.valueOf(pfPassword.getPassword());
if(username.isEmpty() || password.isEmpty()) {
JOptionPane.showMessageDialog(this, "Please enter username and password",
"Try again", JOptionPane.ERROR_MESSAGE);
return;
if(password.isEmpty() || password != password) {
JOptionPane.showMessageDialog(this, "Wrong password",
"Try again", JOptionPane.ERROR_MESSAGE);
return;
user = LoginUser(username, password);
if(user != null) {
dispose();
else {
JOptionPane.showMessageDialog(this, "Failed to login user",
"Try again", JOptionPane.ERROR_MESSAGE);
public User user;
private User LoginUser(String username, String password){
User user = new User();
String DB_URL = "jdbc:postgresql://localhost:5432/dbname";
final String USERNAME = "postgres";
final String PASSWORD = "*******";
try {
Connection connection = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
Statement statement = connection.createStatement();
statement.close();
connection.close();
}catch (Exception e){
e.printStackTrace();
return user;
public static void main(String[] args) {
LoginForm myForm = new LoginForm(null);
User user = myForm.user;
if(user != null){
System.out.println("Login successful");
else {
System.out.println("Login cancelled");