java登录界面增删改减
时间: 2023-09-11 18:12:18 浏览: 37
好的,我可以为您提供一个可以增删改查用户的Java登录界面代码,您可以根据您的需求进行修改和优化。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
public class LoginGUI extends JFrame implements ActionListener {
private JLabel userLabel, passwordLabel;
private JTextField userField;
private JPasswordField passwordField;
private JButton loginButton, resetButton, addUserButton, deleteUserButton, updateUserButton;
private JTextArea userArea;
private ArrayList<User> userList;
public LoginGUI() {
setTitle("登录界面");
setSize(600, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
constraints.insets = new Insets(10, 10, 10, 10);
userLabel = new JLabel("用户名: ");
constraints.gridx = 0;
constraints.gridy = 0;
panel.add(userLabel, constraints);
userField = new JTextField(20);
constraints.gridx = 1;
constraints.gridy = 0;
panel.add(userField, constraints);
passwordLabel = new JLabel("密码: ");
constraints.gridx = 0;
constraints.gridy = 1;
panel.add(passwordLabel, constraints);
passwordField = new JPasswordField(20);
constraints.gridx = 1;
constraints.gridy = 1;
panel.add(passwordField, constraints);
loginButton = new JButton("登录");
loginButton.addActionListener(this);
constraints.gridx = 0;
constraints.gridy = 2;
panel.add(loginButton, constraints);
resetButton = new JButton("重置");
resetButton.addActionListener(this);
constraints.gridx = 1;
constraints.gridy = 2;
panel.add(resetButton, constraints);
addUserButton = new JButton("添加用户");
addUserButton.addActionListener(this);
constraints.gridx = 2;
constraints.gridy = 0;
panel.add(addUserButton, constraints);
deleteUserButton = new JButton("删除用户");
deleteUserButton.addActionListener(this);
constraints.gridx = 2;
constraints.gridy = 1;
panel.add(deleteUserButton, constraints);
updateUserButton = new JButton("修改用户");
updateUserButton.addActionListener(this);
constraints.gridx = 2;
constraints.gridy = 2;
panel.add(updateUserButton, constraints);
userArea = new JTextArea(10, 30);
userArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(userArea);
constraints.gridx = 3;
constraints.gridy = 0;
constraints.gridheight = 3;
panel.add(scrollPane, constraints);
add(panel);
setVisible(true);
userList = new ArrayList<User>();
userList.add(new User("admin", "admin", "管理员"));
userList.add(new User("user", "user", "普通用户"));
updateUserArea();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == loginButton) {
String user = userField.getText();
String password = new String(passwordField.getPassword());
User loginUser = null;
for (User u : userList) {
if (u.getUsername().equals(user) && u.getPassword().equals(password)) {
loginUser = u;
break;
}
}
if (loginUser != null) {
JOptionPane.showMessageDialog(this, "欢迎您!" + loginUser.getRole() + " " + loginUser.getUsername() + " 登录成功!");
} else {
JOptionPane.showMessageDialog(this, "用户名或密码错误!");
}
} else if (e.getSource() == resetButton) {
userField.setText("");
passwordField.setText("");
} else if (e.getSource() == addUserButton) {
String username = JOptionPane.showInputDialog(this, "请输入用户名:");
String password = JOptionPane.showInputDialog(this, "请输入密码:");
String role = JOptionPane.showInputDialog(this, "请输入角色:");
userList.add(new User(username, password, role));
updateUserArea();
} else if (e.getSource() == deleteUserButton) {
String username = JOptionPane.showInputDialog(this, "请输入要删除的用户名:");
for (User u : userList) {
if (u.getUsername().equals(username)) {
userList.remove(u);
break;
}
}
updateUserArea();
} else if (e.getSource() == updateUserButton) {
String username = JOptionPane.showInputDialog(this, "请输入要修改的用户名:");
for (User u : userList) {
if (u.getUsername().equals(username)) {
String newPassword = JOptionPane.showInputDialog(this, "请输入新密码:");
String newRole = JOptionPane.showInputDialog(this, "请输入新角色:");
u.setPassword(newPassword);
u.setRole(newRole);
break;
}
}
updateUserArea();
}
}
public void updateUserArea() {
userArea.setText("");
for (User u : userList) {
userArea.append(u.getUsername() + " " + u.getPassword() + " " + u.getRole() + "\n");
}
}
public static void main(String[] args) {
new LoginGUI();
}
}
class User {
private String username;
private String password;
private String role;
public User(String username, String password, String role) {
this.username = username;
this.password = password;
this.role = role;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
}
```
这个登录界面除了原来的用户名输入框、密码输入框、登录按钮和重置按钮外,还增加了添加用户按钮、删除用户按钮、修改用户按钮和用户信息显示区域。当用户点击添加用户按钮时,程序会弹出对话框让用户输入新用户的信息,然后将新用户添加到用户列表中并更新用户信息显示区域。当用户点击删除用户按钮时,程序会弹出对话框让用户输入要删除的用户名,然后在用户列表中查找该用户并将其删除,最后更新用户信息显示区域。当用户点击修改用户按钮时,程序会弹出对话框让用户输入要修改的用户名,然后在用户列表中查找该用户并将其密码和角色修改为新值,最后更新用户信息显示区域。
上面的代码使用了一个User类来表示用户,包括用户名、密码和角色三个属性,同时提供了对这些属性的访问和修改方法。用户列表使用了一个ArrayList<User>对象来存储,每次添加、删除或修改用户时都需要更新用户信息显示区域。希望能对您有所帮助!