我正在学习如何在 Swing 中使用 JTables。我已经想出连接到数据库并检索结果集。我还可以使用第一个选项显示数据(见下文)。
a) 我想确保我理解使用/传递 TableModel 与直接传递行和列的想法是能够使用 AbstractTableModel 中可用的内置方法;DefaultTableModel 和 ListTableModel 类。
b) 什么是自定义 TableModel?
到目前为止,我遇到了 4 种方式:
- 将列和行作为对象直接传递给 JTable 构造函数。
前任:
JTable tab = new JTable(Object [][] rows, Object[] cols);
2. 从实现 AbstractTableModel 的类创建表模型。
前任:
MyModel model = new MyModel(Object[][] obj1, String[] header);
//MyModel is a class that extends AbstractTableModel.
//MyModel has an ArrayList<Object[]> to store obj1[]
//MyModel implements getRowCount(), getColumnCount() and
getValueAt(int rowIndex, int columnIndex) and also getColumnName(int index)
JTable tab = new JTable(model);
3.从实现 DefaultTableModel 的类创建表模型。
前任:
DefaultTableModel model = new DefaultTableModel(String data[][],String col[]);
(or)
DefaultTableModel model = DefaultTableModel(Vector data, Vector columnNames)
JTable table = new JTable(model);
4.ListTableModel