1

ファイル ブラウザ GUIでチュートリアルを読みましたが、構造フォルダが変更された場合、プログラムは動的リロードできません。ファイル ブラウザ GUI で更新/リロード機能を作成するにはどうすればよいですか?
ここに私の未完成のコード

refreshPath = new JButton("Refresh");
refreshPath.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent ae) {
        ....
     }
});
toolBar.add(refreshPath);
4

1 に答える 1

3
  • FileIOは低レベルで、Java およびネイティブ OS のハード イベントでもあります

  • 基本的に2つの方法があります

    a) Java7 の変更のためのディレクトリーの監視(ここで説明) 。

    b) カスタムFileIO Watching の一部を使用します (どちらが優れているかどうかはわかりませんが、おそらくFileWatcher by Apache)

  • どちらの場合も、Swing GUI には何も通知されないため、SwingWorkerまたはを使用して通知する必要があります。Runnable#Thread

  • Runnable#Threadinsを使用することにより、出力が通知されるという保証Event Dispatch Threadはなく、Swing GUI への出力をinvokeLater()

  • SwingWorkerそれを保証しますが、より安全な出力を使用するinvokeLater()ために、4番目について話しています。さらに短いコードライン

于 2012-08-10T07:27:43.063 に答える