从多个Array列表创建JTable

时间:2013-12-29 19:58:47

标签: java arrays swing arraylist jtable

在一个名为database的类中; 三个 String ArrayList名为 firstName 姓氏性别ArrayList中的元素是平行的。例如 surname (1)将是 firstName (1)的姓氏。

我想知道如何在ArrayList中显示这些JTable。所有ArrayList都显示在不同的列中。

2 个答案:

答案 0 :(得分:1)

  • 使用DefaultTableModel
  • 将该模型设置为表格
  • 使用带addRowObject[]参数的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 | How to use Tables tutorial

答案 1 :(得分:1)

  

ArrayLists中的元素是并行的。

为什么呢?创建包含这3个属性的自定义Person。然后将Person对象添加到ArrayList。然后,您可以创建一个显示Person对象的正确TableModel。

您可以查看Row Table Model以获得更一般的解决方案。 JButtonTableModel.java示例代码将让您了解如何为Person类自定义模型。

或者您可以使用Swing教程中的示例创建一个完全自定义的PersonTableModel。