TableModel的用法
时间: 2024-05-03 14:18:05 浏览: 65
TableDesign
TableModel是Java Swing中用于显示表格的一种数据模型。TableModel接口定义了一些方法用于获取和修改表格中的数据,以及定义表格的结构。
TableModel中最常用的方法是getValueAt(int row, int column)和setValueAt(Object value, int row, int column),用于获取和修改表格中指定行列位置的数据。此外,还有getColumnCount()和getRowCount()方法用于获取表格的列数和行数;getColumnName(int column)方法用于获取指定列的名称;isCellEditable(int row, int column)方法用于判断指定单元格是否可以编辑等。
TableModel接口是一个抽象接口,通常需要实现它的子接口AbstractTableModel或DefaultTableModel来使用。AbstractTableModel提供了TableModel接口中所有方法的默认实现,但是需要自己实现getColumnCount()、getRowCount()、getValueAt()和setValueAt()方法。DefaultTableModel则提供了默认实现的同时,还提供了一些方便的方法用于添加、删除和修改表格中的数据。
下面是一个使用DefaultTableModel的例子:
```
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class TableDemo extends JFrame {
private JTable table;
private DefaultTableModel model;
public TableDemo() {
// 创建表格模型
model = new DefaultTableModel();
// 添加列
model.addColumn("姓名");
model.addColumn("年龄");
model.addColumn("性别");
// 添加行
model.addRow(new Object[]{"张三", 20, "男"});
model.addRow(new Object[]{"李四", 25, "女"});
model.addRow(new Object[]{"王五", 30, "男"});
// 创建表格控件,并设置数据模型
table = new JTable(model);
// 将表格添加到窗口中
add(new JScrollPane(table));
// 设置窗口大小和关闭操作
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new TableDemo();
}
}
```
这段代码创建了一个包含三列和三行数据的表格,并使用DefaultTableModel作为数据模型。通过调用model.addColumn()方法添加列,调用model.addRow()方法添加行。最后将表格添加到窗口中,并设置窗口的大小和关闭操作。
阅读全文