我在eclipse中使用Window Builder插件來製作所有的可視化組件,並且我添加了一個JTable,起初它是一個簡單的JTable,並且它能夠正確顯示數據。因爲我需要JTable的數據是不可編輯的,所以我創建了一個模型來使用isCellEditable方法。我的代碼是這樣的。來自AbstractTableModel的JTable沒有顯示
public class MyTableModel extends AbstractTableModel {
private static final long serialVersionUID = 1L;
private String[] columnNames;
private Object[][] data;
public MyTableModel(Object[][] sentdata, String[] cnames){
columnNames = cnames;
data = sentdata;
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return null;
}
public boolean isCellEditable (int row, int column){
return false;
}
}//fin del modelo
,並在類的構造函數是這個
String[] NombresdeColumnas = {"Nombre del Producto", "Cantidad en Inventario", "Precio Unitario"};
RegistroInventario inventariodatos = new RegistroInventario();
Object[][] data = inventariodatos.regresarInventario();
MyTableModel model1 = new MyTableModel(data, NombresdeColumnas);
Table_Inventario = new JTable(model1);
Table_Inventario.setGridColor(Color.gray);
JScrollPane scrollPane_1 = new JScrollPane();
scrollPane_1.setViewportView(Table_Inventario);
和它不顯示任何東西,但我這樣做的時候:
Table_Inventario = new JTable(data, NombresdeColumnas);
它工作得很好,我不知道這個錯誤是否與deBuilder的form eclipse或者代碼原因一樣,都是新的JTables。
感謝的人我想不會的方法並沒有taht重要'How to create a
TableModel
'部分,我事情會在有關AbstractTableModel的詳細探索多一點。 – Pedro[可以開始](http://stackoverflow.com/questions/6900628/refreshing-background-color-for-a-row-in-jtable/6901508#6901508) – mKorbel