3

私はここを読みましたが、xmlファイルが変更された場合、jtreeはリロード/リフレッシュされません
リフレッシュ/リロードJtreeの関数を作成する方法
コードを記述しようとします:

refreshAction = new AbstractAction("Refresh", IconFactory.getIcon("delete", IconFactory.IconSize.SIZE_16X16)) {
public void actionPerformed(ActionEvent e) {
    XMLTree xmlClass = null;
    ((DefaultTreeModel) xmlClass.getModel()).reload(); 
    System.out.println("Refresh");
}};

しかし、エラーが発生しました: java.lang.NullPointerException

4

3 に答える 3

2
  • これはおそらく最も複雑なコードです

  • JTables DefaultTableModelについてのチュートリアルをDefaultXxxModel読む

  • についてのチュートリアルを読むJTree

  • Concurency in Swingについてのチュートリアルを読む

  • 特に説明についてSwingWorker

  • あなたの場合、より良い(申し訳ありませんが) の新しいインスタンスを作成し、DefaultTreeModelを使用してデータを入力しSwingWorker、新しいモデルを可視に追加しJTree

  • モデルを置き換えると、現在のすべての変更が失われますJTree

于 2012-08-07T07:38:35.947 に答える
1

I dont know the spesific code but you can try this

refreshAction = new AbstractAction("Refresh", IconFactory.getIcon("delete", IconFactory.IconSize.SIZE_16X16)) {
public void actionPerformed(ActionEvent e) {
     DefaultTreeModel myTreeModel = (DefaultTreeModel) xmlClass.getModel();

     myTreeModel.reload();

     revalidate();
     repaint();
}}; 
于 2012-08-08T07:07:37.810 に答える