Я использую плагин Window Builder в eclipse, чтобы сделать все визуальные компоненты, и я добавляю 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);
это работало просто отлично, я не знаю, связана ли ошибка с затмением формы Window Builder или с кодом, вызывающим новое создание JTables.