【发布时间】:2016-01-07 09:51:49
【问题描述】:
我正在尝试在我的 java 桌面应用程序中使用自定义 TableModel。 GUI 是使用 NetBeans 制作的。 但问题是当我使用 DefaultTableModel 时,我可以在 GUI 的设计视图中看到我的表格。
但是当我使用我的自定义 TableModel 时,它不会显示在设计视图中,尽管它在我运行应用程序时显示。
似乎是什么问题?
自定义表格模型代码
public class BillingTableModel extends AbstractTableModel implements TableModel {
String columnNames[] = {
"Name", "Address", "1", "2", "3"
};
Object data[][] = {
{null,null,null,null,null},
{null,null,null,null,null},
{null,null,null,null,null},
{null,null,null,null,null},
{null,null,null,null,null}
};
Class types[] = new Class [] {
String.class, String.class, String.class, String.class, String.class
};
@Override
public Class<?> getColumnClass (int columnIndex) {
return types[columnIndex].getClass();
}
@Override
public String getColumnName(int column) {
return columnNames[column];
}
@Override
public int getRowCount() {
return data.length;
}
@Override
public int getColumnCount() {
return columnNames.length;
}
@Override
public Object getValueAt(int row, int col) {
return data[row][col];
}
@Override
public boolean isCellEditable (int row, int col) {
if (col >= 2)
return true;
else
return false;
}
@Override
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
}
我编辑了默认代码以包含这样的类
customerTable = new javax.swing.JTable();
customerTable.setModel(new BillingTableModel());
tableScrollPane.setViewportView(customerTable);
【问题讨论】:
-
你如何“使用”你的表格模型?