Я решил мою проблему с этим, но теперь, если я добавляю новый файл, моя таблица обновляется, но они теряют представление рендерера для jprogress bar и флажка.
Мне нужна помощь.
Path path = Paths.get(filePath.getAbsolutePath());
try {
Boolean isFolder = (Boolean) Files.getAttribute(path, "basic:isDirectory", NOFOLLOW_LINKS);
if (!isFolder) {
Log.error(this, "Path: " + path + " is not a folder");
throw new IllegalArgumentException("Path: " + path + " is not a folder");
}
System.out.println("Watching path: " + path);
WatchService watchService = path.getFileSystem().newWatchService();
path.register(watchService, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
WatchKey key;
while ((key = watchService.take()) != null) {
for (WatchEvent<?> event : key.pollEvents()) {
File[] files = filePath.listFiles();
customTableDataList.clear();
for (File file : files) {
customTableData = new CustomTableData(file);
customTableDataList.add(customTableData);
}
customTableModel = new CustomTableModel(customTableDataList);
Это решает мою проблему, таблица перезагружается, но представление не отображается.
myTable.setModel(customTableModel);
Если я удаляю выше и добавляю (строка ниже), мой стол выглядит правильно, но только когда я нажимаю галочку (таблица перезагружается).
myTable = new Table(customTableModel);
myTable.repaint();
System.out.println("#LIST: " + customTableDataList + " >>> #SIZE: " + customTableDataList.size());
}
//Log.info(this, "#LIST: " + customTableDataList + " >>> #SIZE: " + customTableDataList.size());
key.reset();
}
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.getMessage();
}