我在eclipse中使用Window Builder插件来制作所有的可视化组件,我添加了一个JTable,起初它是一个简单的JTable,它可以正确显示数据。因为我需要 JTable 的数据是不可编辑的,所以我创建了一个模型来使用方法 isCellEditable。我的代码是这样的。
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);
它工作得很好,我不知道错误是否与 de Window Builder form eclipse 或代码中的问题有关,因为我是新做 JTables。