1

我一直在尝试按如下方式创建一个表:

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[] 找到合适的构造函数”。

我不确定我错了什么。我真的很感激一些帮助。先感谢您。

4

4 回答 4

2

JTable 构造函数需要数据的二维数组,并且您将一维数组作为参数传递。查看JTable 文档以获取更多详细信息。

二维数组应该像这样启动

  Object[][] data = {{"First Name", "Last Name", "Sport", "# of Years",""}};
于 2013-08-05T07:57:39.297 回答
1

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

实际的构造函数是你试图调用的是 JTable(Object[][] rowData, Object[] columnNames).

这使得 Object[][]

但你data的类型 Object[]

于 2013-08-05T07:58:50.653 回答
1

没有构造函数JTableObject[], 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;
}

您可能还想查看如何使用表格了解更多详细信息和选项

于 2013-08-05T07:57:54.973 回答
0

这可能是因为如果 Object[] 数据的值与 String [] columnNames 的 reuqired 值不匹配

public class SearchArray { public String[] columnNames = {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"}; public Object[] []data = {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"}; //列的数据需要两个[][] //向Object[]数据添加另一个数据以满足String[] columnNames所需的数据量

JTable table;

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

}

于 2020-01-09T12:13:49.407 回答