java基于gui的员工人事档案管理系统
时间: 2023-07-09 16:25:58 浏览: 50
好的,以下是一个基于 Java GUI 的员工人事档案管理系统的代码示例,供您参考:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
public class EmployeeManagementSystem extends JFrame implements ActionListener {
// 定义员工类
static class Employee {
private String name;
private int age;
private String address;
private String phoneNumber;
private String department;
// 构造器
public Employee(String name, int age, String address, String phoneNumber, String department) {
this.name = name;
this.age = age;
this.address = address;
this.phoneNumber = phoneNumber;
this.department = department;
}
// Getter 和 Setter 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
}
// 定义组件
private JTextField nameField, ageField, addressField, phoneNumberField, departmentField;
private JButton addButton, showButton;
private JTextArea employeeListArea;
// 创建员工列表
private List<Employee> employeeList = new ArrayList<Employee>();
public EmployeeManagementSystem() {
// 设置窗口大小和位置
setTitle("员工人事档案管理系统");
setSize(600, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建组件
nameField = new JTextField(10);
ageField = new JTextField(5);
addressField = new JTextField(20);
phoneNumberField = new JTextField(11);
departmentField = new JTextField(10);
addButton = new JButton("添加");
showButton = new JButton("显示");
employeeListArea = new JTextArea(20, 50);
// 添加组件
JPanel inputPanel = new JPanel();
inputPanel.setLayout(new GridLayout(5, 2));
inputPanel.add(new JLabel("姓名:"));
inputPanel.add(nameField);
inputPanel.add(new JLabel("年龄:"));
inputPanel.add(ageField);
inputPanel.add(new JLabel("地址:"));
inputPanel.add(addressField);
inputPanel.add(new JLabel("电话号码:"));
inputPanel.add(phoneNumberField);
inputPanel.add(new JLabel("部门:"));
inputPanel.add(departmentField);
JPanel buttonPanel = new JPanel();
buttonPanel.add(addButton);
buttonPanel.add(showButton);
JScrollPane employeeListPane = new JScrollPane(employeeListArea);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(inputPanel, BorderLayout.NORTH);
getContentPane().add(buttonPanel, BorderLayout.CENTER);
getContentPane().add(employeeListPane, BorderLayout.SOUTH);
// 添加事件监听器
addButton.addActionListener(this);
showButton.addActionListener(this);
}
public static void main(String[] args) {
EmployeeManagementSystem system = new EmployeeManagementSystem();
system.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
// 添加员工
String name = nameField.getText();
int age = Integer.parseInt(ageField.getText());
String address = addressField.getText();
String phoneNumber = phoneNumberField.getText();
String department = departmentField.getText();
Employee employee = new Employee(name, age, address, phoneNumber, department);
employeeList.add(employee);
// 清空文本框
nameField.setText("");
ageField.setText("");
addressField.setText("");
phoneNumberField.setText("");
departmentField.setText("");
} else if (e.getSource() == showButton) {
// 显示员工列表
employeeListArea.setText("");
for (Employee employee : employeeList) {
employeeListArea.append("姓名:" + employee.getName() + ",年龄:" + employee.getAge()
+ ",地址:" + employee.getAddress() + ",电话号码:" + employee.getPhoneNumber()
+ ",部门:" + employee.getDepartment() + "\n");
}
}
}
}
```
这个基于 Java GUI 的员工人事档案管理系统可以实现添加员工和显示员工列表的功能,并且使用了 Java 的 GUI 组件,让用户界面更加友好。当然,实际的员工人事档案管理系统要比这个复杂得多,需要根据具体需求进行设计和开发。