我创建了一个名为Resources的类,这个类中的构造函数和相关的get和set方法。这提供了我当时需要的功能。 但是,现在,使用Swing,我想使用存储的信息显示一个表。 我一直在使用Object类来执行此操作,它在表中提供了相同的信息。但是,我想使用Resource来存储和获取这些数据,以便许多用户可以使用不同的类或线程进行访问。这就是我陷入困境的地方,因为我无法像使用Object那样填充Resources数组。
如何解决这个问题,或者更好的解决方案,我们将不胜感激。
Object[][] resources = {{"Resource 1", 1, 1, 0, true},
{"Resource 2", 2, 1, 1, true}, {"Resource 3", 3, 1, 2, false},
{"Resource 4", 4, 1, 3, false}};
上面,这是我目前正在使用的Object数组。
Resources[][]res = new Resources[4][5];
上面,这个我试图实现的资源数组,但它不允许我继续添加数据 - 它请求资源而不是我拥有的数据
答案 0 :(得分:1)
使用自定义表模型并直接转到资源列表以返回特定单元格的数据。像这样:
public class ResourceModel extends DefaultTableModel{
List<Resource> resources;
public Object getValueAt(int row, int col){
Resource resource = resources.get(row);
if(col == 0){
return resource.getName();
}
else if(col == 1){
return resource.getOtherThing();
}
//so on
}
public int getRowCount(){
return resources.size();
}
}
此处有更多信息:http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#data