gpt4 book ai didi

java - AbstractTableModel 中的 JTable 未显示

转载 作者:行者123 更新时间:2023-12-01 18:58:35 24 4
gpt4 key购买 nike

我在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);

它工作得很好,我不知道这个错误是否与 Eclipse 中的 Window Builder 相关,或者是在代码中,因为我是新做 JTables 的。

最佳答案

您的问题是

中的 return 0;
public int getColumnCount() {

public int getRowCount() {

使用 DefaultTableModel 代替,确定将 AbstractTableModel 用于 Object[][] 数据或 是否存在真正重要的问题> vector 的 vector

使用 AbstractTableModel 让我对基于 HashMapjava.util.List e.i. 的模型有意义

关于java - AbstractTableModel 中的 JTable 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13111979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com