Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从多个数组列表创建JTable_Java_Arrays_Swing_Arraylist_Jtable - Fatal编程技术网

Java 从多个数组列表创建JTable

Java 从多个数组列表创建JTable,java,arrays,swing,arraylist,jtable,Java,Arrays,Swing,Arraylist,Jtable,在一个叫做数据库的类中;共有三个名为名字、姓氏和性别的字符串。ArrayLists中的元素是并行的。例如,姓氏(1)将是名字(1)的姓氏 我想知道如何在JTable中显示这些ArrayLists。所有ArrayList都显示在不同的列中。 使用DefaultTableModel 把那个模型放到桌子上 使用addRow将Object[]或Vector参数添加到模型中 然后添加您的列表 List<String> firstnames = new ArrayList<>()

在一个叫做数据库的类中;共有三个名为名字、姓氏和性别的字符串。
ArrayList
s中的元素是并行的。例如,姓氏(1)将是名字(1)的姓氏

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

  • 使用DefaultTableModel
  • 把那个模型放到桌子上
  • 使用
    addRow
    Object[]
    Vector
    参数添加到模型中

然后添加您的列表

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);
}
List firstnames=new ArrayList();
列表姓氏=新的ArrayList();
List genders=new ArrayList();
对于(int i=0;i
见:|

ArrayList中的元素是平行的

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

您可以查看以获得更通用的解决方案。
JButtonTableModel.java
示例代码将让您了解如何为Person类定制模型


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

这可以通过通读、引用JavaDocs和搜索来解决,所以…投票关闭我没有进行tat的原因是因为这是一个用户可以从程序中编辑的数据库。@user3144389,这是没有理由的。没有理由不能更新Person对象中的数据。您只需添加一个setter方法。我给了你一个有效的例子。
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);
}