[英]netbeans - Custom table model not showing in design view
我正在嘗試在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);
子類化JTable,然后可以將自定義JTable拖動到Netbeans設計器中,而不是將其拖到常規JTable中,並且自定義模型將已經可見。
例如。
將此文件作為CustomerTable.java放入您的項目中
public class CustomerTable extends JTable {
public CustomerTable() {
this.setModel(new BillingTableModel());
}
}
選擇文件,然后從菜單中選擇運行->編譯文件。 (或按F9鍵)
從Netbeans設計視圖中刪除您擁有的JTable,然后將CustomerTable.java從項目窗口拖到設計視圖中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.