帮我写一个学生成绩表主页面用JTable组件并且带多个按钮的java类
时间: 2024-01-15 14:04:34 浏览: 73
好的,以下是一个简单的学生成绩表主页面的 Java 类,它使用 JTable 组件和多个按钮:
```java
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class StudentGradeTable extends JFrame {
private JTable table;
private DefaultTableModel model;
private JButton addButton;
private JButton deleteButton;
private JButton saveButton;
public StudentGradeTable() {
// 设置窗口标题和大小
setTitle("学生成绩表");
setSize(500, 300);
// 创建表格和表格模型
table = new JTable();
model = new DefaultTableModel(
new Object[][]{},
new String[]{"姓名", "语文", "数学", "英语", "总分", "平均分"}
);
table.setModel(model);
// 添加按钮
addButton = new JButton("添加");
deleteButton = new JButton("删除");
saveButton = new JButton("保存");
// 添加按钮的事件监听器
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 添加一行空数据
model.addRow(new Object[]{"", "", "", "", "", ""});
}
});
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 删除选中行
int[] selectedRows = table.getSelectedRows();
for (int i = selectedRows.length - 1; i >= 0; i--) {
model.removeRow(selectedRows[i]);
}
}
});
saveButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 保存数据到文件
// TODO: 实现保存功能
}
});
// 添加表格和按钮到窗口
Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(new JScrollPane(table), BorderLayout.CENTER);
JPanel buttonPanel = new JPanel();
buttonPanel.add(addButton);
buttonPanel.add(deleteButton);
buttonPanel.add(saveButton);
contentPane.add(buttonPanel, BorderLayout.SOUTH);
}
public static void main(String[] args) {
// 创建并显示窗口
StudentGradeTable frame = new StudentGradeTable();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
```
在这个窗口中,你可以使用按钮添加、删除和保存学生成绩。这个类可以作为一个基础,你可以根据自己的需要进行扩展和修改。
阅读全文