0

テーブルを更新できないようです。を呼び出す更新ボタンを作成しましたjTable1.repaint();

private void jButton8ActionPerformed(java.awt.event.ActionEvent evt)        
// Reader Refresh
        jTable1.repaint();
    }

RegistryValues私もボタンでもう一度思い出してみましたRegistryValues.arp(null);

private void jButton8ActionPerformed(java.awt.event.ActionEvent evt)        
// Reader Refresh
        RegistryValues.arp(null);
    }

また、レジストリ値を組み合わせてボタンに再描画してみました。

以下は私のコードですjTable。それRegistryValuesが重要な場合は、JNAを使用してレジストリを読み取る別のクラスからのものです。

jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {"Protected Mode at Startup", RegistryValues.arp(null)},
                {"Display PDF in browser", RegistryValues.arb(null)},
                {"EULA Accepted?", RegistryValues.are(null)},
                {null, null}
            },
            new String [] {
                "Software", "Status"
            }
        ));
4

1 に答える 1

3

ない

jTable1.repaint();

また

RegistryValues.arp(null);

実際にテーブルを新しい値で更新します。このためには、現在のテーブル モデルを更新するか、ActionListener で新しいモデルを設定する必要があります。

変更可能なDefaultTableModelを使用しているため、モデルの更新ヘルパー メソッドを作成できます。

何かのようなもの:

DefaultTableModel model = (DefaultTableModel) table.getModel();
model.setValueAt(RegistryValues.arp(null), 0, 1);
// set more row data, etc.

注:モデルをクラス メンバー変数として保存すると、キャストの必要がなくなります。

于 2012-08-22T17:16:38.430 に答える