在一个名为数据库的类中;有三个String
ArrayList
分别命名为名、姓氏和性别。ArrayList
s 中的元素是平行的。例如,姓氏(1)将是名字(1)的姓氏。
我想知道如何在JTable
中显示这些ArrayList
。所有ArrayList
都显示在不同的列中。
- 使用默认表模型
- 将该模型设置为表
- 使用
addRow
,它采用Object[]
或Vector
参数向模型添加行
String[] columnNames = {"First Name", "Surname", "Gender"};
DeafultTableModel model = new DefaultTableModel(columnNames, 0);
JTable table = new JTable(model);
然后添加您的列表
List<String> firstnames = new ArrayList<>();
List<String> surnames = new ArrayList<>();
List<String> genders = new ArrayList<>();
for (int i = 0; i < firstname.size(); i++){
Object[] row = { firstnames.get(i), suenames.get(i), genders.get(i) };
model.addRow(row);
}
参见: DefaultTableModel javadoc |如何使用表教程
ArrayList 中的元素是并行的。
为什么?创建包含这 3 个属性的自定义Person
。然后,将Person
对象添加到数组列表中。然后,您可以创建一个适当的 TableModel 来显示Person
对象。
您可以查看行表模型以获取更通用的解决方案。JButtonTableModel.java
示例代码将使您了解如何为 Person 类自定义模型。
或者,您可以使用 Swing 教程中的示例来创建完全自定义的 PersonTableModel。