Как создать обновление / перезагрузку в списке файлов на основе 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-м. кроме того, короткие коды