Java图形化界面用户管理系统代码
时间: 2023-06-19 15:06:59 浏览: 68
以下是一个简单的Java图形化界面用户管理系统的代码示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
public class UserManagementSystem extends JFrame implements ActionListener {
private JLabel titleLabel, idLabel, nameLabel, ageLabel, genderLabel;
private JTextField idTextField, nameTextField, ageTextField;
private JComboBox<String> genderComboBox;
private JButton addButton, deleteButton, updateButton, clearButton, exitButton;
private JTable table;
private DefaultTableModel model;
private JScrollPane scrollPane;
private ArrayList<User> userList;
public UserManagementSystem() {
userList = new ArrayList<User>();
titleLabel = new JLabel("User Management System");
titleLabel.setFont(new Font("Arial", Font.BOLD, 20));
titleLabel.setBounds(200, 20, 300, 30);
idLabel = new JLabel("ID:");
idLabel.setBounds(50, 70, 50, 30);
idTextField = new JTextField();
idTextField.setBounds(100, 70, 150, 30);
nameLabel = new JLabel("Name:");
nameLabel.setBounds(50, 110, 50, 30);
nameTextField = new JTextField();
nameTextField.setBounds(100, 110, 150, 30);
ageLabel = new JLabel("Age:");
ageLabel.setBounds(50, 150, 50, 30);
ageTextField = new JTextField();
ageTextField.setBounds(100, 150, 150, 30);
genderLabel = new JLabel("Gender:");
genderLabel.setBounds(50, 190, 50, 30);
String[] gender = {"Male", "Female"};
genderComboBox = new JComboBox<String>(gender);
genderComboBox.setBounds(100, 190, 150, 30);
addButton = new JButton("Add");
addButton.setBounds(300, 70, 80, 30);
addButton.addActionListener(this);
deleteButton = new JButton("Delete");
deleteButton.setBounds(300, 110, 80, 30);
deleteButton.addActionListener(this);
updateButton = new JButton("Update");
updateButton.setBounds(300, 150, 80, 30);
updateButton.addActionListener(this);
clearButton = new JButton("Clear");
clearButton.setBounds(300, 190, 80, 30);
clearButton.addActionListener(this);
exitButton = new JButton("Exit");
exitButton.setBounds(400, 230, 80, 30);
exitButton.addActionListener(this);
String[] columnNames = {"ID", "Name", "Age", "Gender"};
model = new DefaultTableModel(columnNames, 0);
table = new JTable(model);
scrollPane = new JScrollPane(table);
scrollPane.setBounds(50, 270, 500, 200);
getContentPane().setLayout(null);
getContentPane().add(titleLabel);
getContentPane().add(idLabel);
getContentPane().add(idTextField);
getContentPane().add(nameLabel);
getContentPane().add(nameTextField);
getContentPane().add(ageLabel);
getContentPane().add(ageTextField);
getContentPane().add(genderLabel);
getContentPane().add(genderComboBox);
getContentPane().add(addButton);
getContentPane().add(deleteButton);
getContentPane().add(updateButton);
getContentPane().add(clearButton);
getContentPane().add(exitButton);
getContentPane().add(scrollPane);
setTitle("User Management System");
setSize(600, 550);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
String id = idTextField.getText();
String name = nameTextField.getText();
int age = Integer.parseInt(ageTextField.getText());
String gender = genderComboBox.getSelectedItem().toString();
User user = new User(id, name, age, gender);
userList.add(user);
Object[] row = new Object[4];
row[0] = id;
row[1] = name;
row[2] = age;
row[3] = gender;
model.addRow(row);
idTextField.setText("");
nameTextField.setText("");
ageTextField.setText("");
} else if (e.getSource() == deleteButton) {
int row = table.getSelectedRow();
if (row >= 0) {
String id = model.getValueAt(row, 0).toString();
for (User user : userList) {
if (user.getId().equals(id)) {
userList.remove(user);
break;
}
}
model.removeRow(row);
} else {
JOptionPane.showMessageDialog(this, "Select a row to delete.");
}
} else if (e.getSource() == updateButton) {
int row = table.getSelectedRow();
if (row >= 0) {
String id = idTextField.getText();
String name = nameTextField.getText();
int age = Integer.parseInt(ageTextField.getText());
String gender = genderComboBox.getSelectedItem().toString();
User user = new User(id, name, age, gender);
userList.set(row, user);
model.setValueAt(id, row, 0);
model.setValueAt(name, row, 1);
model.setValueAt(age, row, 2);
model.setValueAt(gender, row, 3);
idTextField.setText("");
nameTextField.setText("");
ageTextField.setText("");
} else {
JOptionPane.showMessageDialog(this, "Select a row to update.");
}
} else if (e.getSource() == clearButton) {
idTextField.setText("");
nameTextField.setText("");
ageTextField.setText("");
} else if (e.getSource() == exitButton) {
System.exit(0);
}
}
public static void main(String[] args) {
UserManagementSystem system = new UserManagementSystem();
}
}
class User {
private String id;
private String name;
private int age;
private String gender;
public User(String id, String name, int age, String gender) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
}
```
这个程序使用了Swing和AWT库来创建用户管理系统的图形化界面。用户可以使用图形用户界面添加、删除、更新和清空用户信息。程序还包括一个用户类,用于存储用户信息。