我试图从现有的Object[][][] Array
填充JTable表单,问题是我所有的数据或包含[Ljava.lang.Object;@
而不是我的(整数)数据,尽管我在将数据放入JTable之前需要System.out.println("")
打印数据,但我总是遇到同样的问题;下面是一个小屏幕和thanx的帮助代码。
import java.awt.Component;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class gass extends JFrame {
String title[] ={"Box", "Weight", "Priority"};
public gass() {
int nb=interface1.BNumber;
Object[][][] data = new Object[nb][nb][nb];
int E1=0, E2=0;
for (int i=0;i<nb;i++)
{ data[i][0][0] = i+1;
E1 = (int) (Math.random() * 100);
data[0][i][0] = E1;
E2 = (int) (Math.random() * 10);
data[0][0][i] = E2;
}
for (int j=0;j<nb;j++)
{
System.out.println("*"+data[j][0][0]+"*"+data[0][j][0]+"*"+data[0][0][j]+"*");
}
JTable table = new JTable(data, title);
Component add = this.getContentPane().add(new JScrollPane(table));
this.setVisible(true);
table.setPreferredScrollableViewportSize(table.getPreferredSize());
this.setSize(800,400);
}
}
另一个问题是,在对象数组***data[0][0][0] = wrong information !!***
的第一种情况下,我总是得到错误的数据接下来,一个链接描述了我的小型应用程序的输出,非常感谢的帮助
点击此处获取描述图像
Object[][]
作为参数。
此数组是一个行数组。所以data[i]
是一行,它是一列的数组。
数组中的每一行本身就是一个列数组。每列(data[i][j]
)都应该包含一些显示在JTable的一个单元格中的数据。
在您的情况下,此数据本身就是一个数组。由于没有与对象数组关联的特定渲染器,因此数组的toString()
方法用于在单元中显示数组。数组的toString()方法返回类似[Ljava.lang.Object;@
的内容。
你应该告诉我们你想在每个单元格中显示什么,以获得更好的答案,并解释你应该做什么。
编辑:
给定要显示的内容,您只需要一个二维数组:
Object[][] data = new Object[nb][3]; // nb rows, 3 columns
for (int row = 0; row < nb; row++) {
data[row][0] = row + 1; // first column: row number
data[row][1] = Math.random(100); // second column: weight
data[row][2] = Math.random(10): // third column: priority
}