Как создать обновление / перезагрузку в списке файлов на основе Jtree / Jtable?

Я прочитал учебник в графическом интерфейсе обозревателя файлов, но если папка Strucutre изменилась, программа не может выполнить динамическую перезагрузку, как создать функцию обновления / перезагрузки в графическом интерфейсе обозревателя файлов?
Вот мой неполный код

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

1 ответ

  • FileIO - это низкоуровневое и сложное событие для Java и Native OS

  • Есть два основных способа

    а) Просмотр каталога изменений для Java7, обсуждаемого здесь.

    б) использовать некоторые из пользовательских FileIO Watchin г (не могу предположить что лучше или нет, может быть FileWatcher by Apache)

  • в обоих случаях ничего не будет уведомлено Swing GUI, должны уведомить с помощью SwingWorker или же Runnable#Thread

  • используя Runnable#Thread если нет гарантии, что выход будет уведомлен Event Dispatch Thread, иметь оборачивать вывод в графический интерфейс Swing к invokeLater()

  • SwingWorker гарантировать это, но для более безопасной продукции вы можете использовать invokeLater() тоже речь идет о 4-м. кроме того, короткие коды

Другие вопросы по тегам