我得到的是[Ljava.lang.Object;@,而不是JTable上的数据



我试图从现有的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 !!***的第一种情况下,我总是得到错误的数据接下来,一个链接描述了我的小型应用程序的输出,非常感谢的帮助

点击此处获取描述图像

JTable构造函数采用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
}

相关内容

  • 没有找到相关文章

最新更新