我想在用户按下按钮后刷新并显示我的 JTable
。在此之前,该按钮会生成一个 Object[][]
,其中保存了来自表的过滤数据。
过滤后的数据仅行数不同。
我正在使用 netbeans UI 创建器,我可以用数据填充表的唯一方法是定义 abstractTableModel。 这是我的 abstractTableModel 的代码:
class myTable extends AbstractTableModel{
private String[] stolpci = {"Kategorija","Podkategorija","Opis","Cena","Datum","Boni"};
private Object[][] data = PregledovalnikGUI.vrniTabelo(); /*PregledovalnikGUI.vrniTabelo() returns a value in form of Object[][] in which the data is held*/
public int getColumnCount() {
return stolpci.length;
}
public int getRowCount() {
return vrstice.length;
}
public String getColumnName(int col) {
return stolpci[col];
}
public Object getValueAt(int row, int col) {
return vrstice[row][col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public void setValueAt(Object value, int row, int col) {
vrstice[row][col] = value;
fireTableCellUpdated(row, col);
}
jTable 设置如下:
Tabela.setModel(new myTable());
我需要定义哪些方法来让表在运行时刷新?
最佳答案
在 myTable
中,您可以有一个名为 refresh()
的方法,类似这样
public void refresh(Object[][] objects){
//make the changes to the table, then call fireTableChanged
fireTableChanged(null);
}
然后在按钮监听器中,调用上面的方法:
Tablea.refresh(objects);//objects stores your filtered data
关于java - 更改数据后刷新 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19952870/