我得到一个类对象数组(名为:store)。我必须从商店数组中检索一些值,并希望用这些值填充我的JTable(Object [] []数据)。我已将此数组传递到一个类中,我计划在其中绘制包含该表的用户界面。所以,我的代码看起来像
public class Dialog { // Here is where i plan to draw my UI (including the table)
....
public Dialog(Store store) { // Store = an array of class object.
.. }
private class TableModel extends AbstractTableModel {
private String[] columnNames = {"Selected ",
"Customer Id ",
"Customer Name "
};
private Object[][] data = {
// ????
};
}
}
现在,我的问题是,如果我想确保我的设计是一个好的设计并遵循OOP的原则那么我应该从存储中提取值以及我应该如何将其传递给data [] []。< / p>
答案 0 :(得分:0)
我会创建Object
的简单Store
表示(您甚至可以使用Properties
对象或Map
)。这将构成一个单独的行。
然后我会将每个“行”放入一个列表......
protected class TableModel extends AbstractTableModel {
private String[] columnNames = {"Selected",
"Customer Id",
"Customer Name"};
private List<Map> rowData;
public TableModel() {
rowData = new ArrayList<Map>(25);
}
public void add(Map data) {
rowData.add(data);
fireTableRowsInserted(rowData.size() - 1, rowData.size() - 1);
}
public int getRowCount() {
return rowData.size();
}
public int getColumnCount() {
return columnNames.length;
}
public String getColumnName(int column) {
return columnNames[column];
}
public Object getValueAt(int rowIndex, int columnIndex) {
Map row = rowData.get(rowIndex);
return row.get(getColumnName(columnIndex));
}
}
现在,显然,这是一个非常简单的例子,但我希望你明白这个想法