这是我的定义类,我没有包含获取代码short and sweet。
public class Details() {
String name;
double price;
int quan;
double totalValue;
public String getName();
public double getPrice();
public int quan();
public double totalValue();
}
这是我保存详细信息列表的方式
ArrayList<Details> myDetails = new ArrayList<Details>();
这是我想用来制作表格行/列的函数 在这里,我希望能够通过我的详细信息表进行迭代,以生成类似于下面的内容。
public Object[][] getStockTable() {
Object[][] dynamicObject = new Object[][] {
{ "Name1", "Price1", "Quan1", "TV1" },
{ "Name2", "Price2", "Quan2", "TV2" },
{ "Name3", "Price3", "Quan3", "TV3" } };
//But how do this by iterating through rather than manually like above^
return dynamicObject;
}
这就是我为表格设置行/列的方式
dm.setDataVector(getStockTable(), new Object[] { "Name","Price", "Quan", "Total Value" });
在经历了一些混乱后,我没有想出办法来做到这一点。请不要只是给我一个答案,我希望能够理解如何做到而不是为我做完。
答案 0 :(得分:4)
Object[][]
只是Object[]
的数组,因此OO方法是向Detail
添加创建单个“行”的方法{{1} }
Object[]
然后在public Object[] toRow() {
return new Object[] { getName(), String.valueOf(getPrice()) /* etc. */ };
}
getStockTable
答案 1 :(得分:2)
这样的事情?
public Object[][] getStockTable() {
ArrayList<Details> details = getDatailsList();
Object[][] result = new Object[details.size()][];
for (int i = 0; i < details.size(); i++) {
Details detail = details.get(i);
Object[] det = new Object[4];
det[0] = detail.getName();
det[1] = detail.getPrice();
det[2] = detail.quan();
det[3] = detail.totalValue();
result[i] = det;
}
return result;
}