JTable可以添加行并编辑表格并保存java
时间: 2023-06-25 19:03:14 浏览: 96
Java 表内的信息直接编辑
是的,JTable可以添加行并编辑表格,并且可以通过Java程序将更改保存到数据源中。下面是一个简单的示例代码,展示如何在JTable中添加行并将更改保存到CSV文件中:
```java
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.io.FileWriter;
import java.io.IOException;
public class JTableExample extends JFrame {
private JTable table;
private DefaultTableModel tableModel;
public JTableExample() {
// 创建表格模型
tableModel = new DefaultTableModel();
tableModel.addColumn("ID");
tableModel.addColumn("Name");
tableModel.addColumn("Age");
// 创建表格并设置模型
table = new JTable(tableModel);
// 添加按钮,点击时添加新行到表格中
JButton addRowButton = new JButton("Add Row");
addRowButton.addActionListener(e -> {
Object[] row = new Object[]{"", "", ""};
tableModel.addRow(row);
});
// 添加按钮,点击时将表格内容保存到CSV文件中
JButton saveButton = new JButton("Save");
saveButton.addActionListener(e -> {
try {
FileWriter writer = new FileWriter("data.csv");
for (int i = 0; i < tableModel.getRowCount(); i++) {
for (int j = 0; j < tableModel.getColumnCount(); j++) {
writer.write(tableModel.getValueAt(i, j) + ",");
}
writer.write("\n");
}
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
}
});
// 创建面板,添加表格和按钮
JPanel panel = new JPanel();
panel.add(new JScrollPane(table));
panel.add(addRowButton);
panel.add(saveButton);
// 将面板添加到窗口中
add(panel);
// 设置窗口属性并显示窗口
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new JTableExample();
}
}
```
这个示例程序中,我们创建了一个基本的JTable,添加了添加行和保存按钮,并通过保存按钮将表格内容保存到data.csv文件中。你可以根据自己的需要修改这个示例代码,例如改变列名、添加其他的按钮等。
阅读全文