停车场管理系统用户和管理员的登陆界面windowbuilder手写代码
时间: 2023-06-22 12:41:30 浏览: 74
以下是Java Swing和MySQL数据库的停车场管理系统的用户和管理员的登陆界面的手写代码。您可以将其与WindowBuilder一起使用。
```
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
public class LoginFrame extends JFrame {
private JPanel contentPane;
private JTextField textFieldUsername;
private JPasswordField passwordField;
private JButton btnLogin;
private JButton btnSignUp;
private JLabel lblTitle;
private Connection conn;
private PreparedStatement ps;
private ResultSet rs;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
LoginFrame frame = new LoginFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public LoginFrame() {
connect();
initComponents();
}
private void initComponents() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblUsername = new JLabel("Username:");
lblUsername.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblUsername.setHorizontalAlignment(SwingConstants.RIGHT);
lblUsername.setBounds(10, 80, 100, 30);
contentPane.add(lblUsername);
JLabel lblPassword = new JLabel("Password:");
lblPassword.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblPassword.setHorizontalAlignment(SwingConstants.RIGHT);
lblPassword.setBounds(10, 120, 100, 30);
contentPane.add(lblPassword);
textFieldUsername = new JTextField();
textFieldUsername.setBounds(120, 80, 200, 30);
contentPane.add(textFieldUsername);
textFieldUsername.setColumns(10);
passwordField = new JPasswordField();
passwordField.setBounds(120, 120, 200, 30);
contentPane.add(passwordField);
btnLogin = new JButton("Login");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
login();
}
});
btnLogin.setFont(new Font("Tahoma", Font.PLAIN, 14));
btnLogin.setBounds(120, 160, 100, 30);
contentPane.add(btnLogin);
btnSignUp = new JButton("Sign Up");
btnSignUp.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
signUp();
}
});
btnSignUp.setFont(new Font("Tahoma", Font.PLAIN, 14));
btnSignUp.setBounds(220, 160, 100, 30);
contentPane.add(btnSignUp);
lblTitle = new JLabel("Parking Management System");
lblTitle.setForeground(Color.BLUE);
lblTitle.setFont(new Font("Tahoma", Font.BOLD, 18));
lblTitle.setHorizontalAlignment(SwingConstants.CENTER);
lblTitle.setBounds(10, 20, 414, 30);
contentPane.add(lblTitle);
}
private void connect() {
String url = "jdbc:mysql://localhost:3306/parking?user=root&password=root";
try {
conn = DriverManager.getConnection(url);
} catch (SQLException e) {
e.printStackTrace();
}
}
private void login() {
String username = textFieldUsername.getText();
String password = new String(passwordField.getPassword());
String query = "SELECT * FROM users WHERE username = ? AND password = ?";
try {
ps = conn.prepareStatement(query);
ps.setString(1, username);
ps.setString(2, password);
rs = ps.executeQuery();
if (rs.next()) {
JOptionPane.showMessageDialog(this, "Login Success!");
dispose();
// Open the main frame according to the role
String role = rs.getString("role");
if (role.equals("admin")) {
new MainFrameAdmin().setVisible(true);
} else if (role.equals("user")) {
new MainFrameUser().setVisible(true);
}
} else {
JOptionPane.showMessageDialog(this, "Invalid username or password!");
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
private void signUp() {
dispose();
new SignUpFrame().setVisible(true);
}
}
```