创建JTable

问题描述 投票:1回答:4

我一直在尝试如下创建表:

public class SearchArray {
    public String[] columnNames = {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"};
    public Object[] data = {"First Name", "Last Name", "Sport", "# of Years",};

    JTable table;

    JTable search() {
        table = new JTable(data, columnNames);
        return table;
    }
}

但是,我一直得到“找不到适合JTable(Object [],String []”的构造函数。

我不确定我弄错了什么。非常感谢您的帮助。预先谢谢你。

java swing jtable multidimensional-array tablemodel
4个回答
2
投票

JTable构造函数需要用于数据的二维数组,并且您要传递一维数组作为参数。有关更多详细信息,请查看JTable Doc

二维数组应该像这样启动

  Object[][] data = {{"First Name", "Last Name", "Sport", "# of Years",""}};

1
投票

JTable的构造函数没有Object[], Object[],请看JavaDocs

相反,您可以使用...

public String[] columnNames = {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"};
public Object[][] data = {{"First Name", "Last Name", "Sport", "# of Years", "No"}};

JTable table;

JTable search() {
    table = new JTable(data, columnNames);
    return table;
}

您可能还想看看How to use tables了解更多详细信息和选项


1
投票

因为没有提供带有参数的Jtable的构造函数。

您要呼叫的实际承包商是JTable(Object[][] rowData, Object[] columnNames).

允许Object[][]

但是您的data的类型为Object[]


0
投票

可能是因为Object []数据的值与String [] columnNames的必需值不匹配>

公共类SearchArray {public String [] columnNames = {“名字”,“姓氏”,“运动”,“年数”,“素食主义者”};public Object [] [] data = {“名字”,“姓氏”,“运动”,“年数”,“素食主义者”}; //该列的数据需要两个[] []//向Object []数据添加另一个数据,以满足String []所需的数据量[columnNames

JTable table;

JTable search() {
    table = new JTable(data, columnNames);
    return table;
}

}

© www.soinside.com 2019 - 2024. All rights reserved.