从多个数组列表创建 JTable



在一个名为数据库的类中;有三个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。

最新更新