1

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());

実行時にテーブルを更新するには、どのメソッドを定義する必要がありますか?

4

2 に答える 2

3

内部では、このような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
于 2013-11-13T12:25:05.663 に答える