写一个java学生信息管理图形用户界面设计,包括姓名,出生日期,家庭住址,性别,是否团员,同时可以添加,删除选中学生,并按姓名进行排序
时间: 2024-01-09 21:04:17 浏览: 62
好的,我可以为您提供一个简单的Java学生信息管理图形用户界面设计,包括姓名,出生日期,家庭住址,性别,是否团员等信息,并可进行添加、删除选中学生以及按姓名排序等功能。以下是代码实现:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class StudentInfoGUI implements ActionListener {
JFrame frame;
JTextField nameTextField, dobTextField, addressTextField;
JComboBox<String> genderComboBox;
JCheckBox isMemberCheckBox;
JTable table;
DefaultTableModel model;
public StudentInfoGUI() {
frame = new JFrame("学生信息管理系统");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建学生信息输入面板
JPanel inputPanel = new JPanel(new GridLayout(0, 2));
inputPanel.setBorder(BorderFactory.createTitledBorder("添加学生信息"));
JLabel nameLabel = new JLabel("姓名:");
nameTextField = new JTextField();
inputPanel.add(nameLabel);
inputPanel.add(nameTextField);
JLabel dobLabel = new JLabel("出生日期:");
dobTextField = new JTextField();
inputPanel.add(dobLabel);
inputPanel.add(dobTextField);
JLabel addressLabel = new JLabel("家庭住址:");
addressTextField = new JTextField();
inputPanel.add(addressLabel);
inputPanel.add(addressTextField);
JLabel genderLabel = new JLabel("性别:");
String[] genderOptions = {"男", "女"};
genderComboBox = new JComboBox<String>(genderOptions);
inputPanel.add(genderLabel);
inputPanel.add(genderComboBox);
JLabel isMemberLabel = new JLabel("是否团员:");
isMemberCheckBox = new JCheckBox();
inputPanel.add(isMemberLabel);
inputPanel.add(isMemberCheckBox);
JButton addButton = new JButton("添加");
addButton.addActionListener(this);
inputPanel.add(addButton);
// 创建学生信息显示表格
String[] columns = {"姓名", "出生日期", "家庭住址", "性别", "是否团员"};
model = new DefaultTableModel(columns, 0);
table = new JTable(model);
table.setAutoCreateRowSorter(true);
JScrollPane scrollPane = new JScrollPane(table);
// 创建学生信息删除按钮
JButton deleteButton = new JButton("删除选中学生");
deleteButton.addActionListener(this);
// 添加组件到主窗口
frame.add(inputPanel, BorderLayout.NORTH);
frame.add(scrollPane, BorderLayout.CENTER);
frame.add(deleteButton, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
// 处理添加、删除学生信息按钮的事件
public void actionPerformed(ActionEvent e) {
String name = nameTextField.getText();
String dob = dobTextField.getText();
String address = addressTextField.getText();
String gender = (String) genderComboBox.getSelectedItem();
boolean isMember = isMemberCheckBox.isSelected();
if (e.getActionCommand().equals("添加")) {
model.addRow(new Object[] {name, dob, address, gender, isMember});
} else if (e.getActionCommand().equals("删除选中学生")) {
int[] selectedRows = table.getSelectedRows();
for (int i = selectedRows.length - 1; i >= 0; i--) {
model.removeRow(selectedRows[i]);
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new StudentInfoGUI();
}
});
}
}
```
运行程序后,您将看到一个学生信息管理系统的窗口。您可以输入学生的姓名、出生日期、家庭住址,选择性别、是否团员,然后点击“添加”按钮将学生信息添加到表格中。您还可以选择一个或多个学生,然后点击“删除选中学生”按钮将它们从表格中删除。表格默认按姓名进行排序,您可以通过单击表头来改变排序方式。
阅读全文