Java JTable对象数组
结果不是很好,我尝试了谷歌,但大多数例子都是预先制作好的数组,所以没有多大帮助 我认为您的问题在于数据数组。java中的数组不是动态的。定义Java JTable对象数组,java,user-interface,jtable,Java,User Interface,Jtable,结果不是很好,我尝试了谷歌,但大多数例子都是预先制作好的数组,所以没有多大帮助 我认为您的问题在于数据数组。java中的数组不是动态的。定义 Object[][]数据={} 您正在创建长度为0的数组 您必须能够事先知道它们的长度,或者使用列表的方法。JTable模型文档的解释过于简单,令人困惑。将数据传递给表构造函数几乎总是一个错误。您应该实现从AbstractTableModel派生的自己的表模型,并将该模型对象传递给表的构造函数 然后您的表模型可以有一个私有成员变量,如 data[0][0]
Object[][]数据={}代码>
您正在创建长度为0的数组
您必须能够事先知道它们的长度,或者使用列表的方法。JTable模型文档的解释过于简单,令人困惑。将数据传递给表构造函数几乎总是一个错误。您应该实现从AbstractTableModel派生的自己的表模型,并将该模型对象传递给表的构造函数
然后您的表模型可以有一个私有成员变量,如
data[0][0] = "Account";
data[0][1] = 1; //int
data[0][2] = "Name";
data[0][3] = dob; //Date class
data[0][4] = gender; //Enum
data[0][5] = hire //Date class
data[0][6] = true; //boolean
data[0][7] = 125.23; //double
data[0][8] = 0.015; //double
如
public int getRowCount() {
return emplyeeList.size();
}
等等
它使您的编程更加简单,因为模型使用您的自然数据结构来保存数据。不清楚它为什么不起作用,你期望的是什么,发生了什么?我实际上期望它能工作,但显然没有,因为我之前与此人一起工作的代码有一个异常处理,并抛出了一个错误奇怪的是,现在我创建了一个表,接受没有任何数据进入…你是否将数据中的对象放在JTable之前创建?是的,我认为这可能是个问题,我最终只是创建了一个空表,并添加了看起来更简单的行;编号Object[][]数据=新对象[行][cols]代码>
public ArrayList<Person> employeeList = new ArrayList<Person>();
public int getRowCount() {
return emplyeeList.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
Person p = employeeList.get(rowIndex);
switch (columnIndex) {
case 1:
return p.getName();
....
}
}