javafx Обновление сообщения от метода walkfiletree Filevisitor

Я использую java 7 Files.walkFileTree метод для перемещения по всему диску. Я пытаюсь обновить метку javafx и индикатор выполнения в созданном мной классе пользовательского интерфейса, используя метод visitFile() моего пользовательского FileVisitor. В классе пользовательского интерфейса javafx я создаю задачу и запускаю ее. Я провел некоторое исследование, и кто-то предложил мне внедрить FileVisitor и расширить задачу, чтобы я мог обновить Message() из visitFile(), но я попробовал это, и это не работает. Класс пользовательского интерфейса Javafx:

          FileSystemTraverse task = new FileSystemTraverse(client);
          // here i create label and bind it to the task
          final Thread thread = new Thread(task);
          thread.start();

Класс FileSystemTraverse:

          public class FileSystemTraverse extends Task implements FileVisitor<Path>
          {
          // The usual implemented methods, constructor and so on ... 

            public FileVisitResult visitFile(Path filePath, BasicFileAttributes attributes) throws IOException {
              Objects.requireNonNull(attributes);
              Objects.requireNonNull(filePath);
              if (attributes.isRegularFile()) {
                // Here I do some operations and if I found the file i need
                // I update the message (this is just an example) 
                updateMessage(filePath.toString);
              }
              return FileVisitResult.CONTINUE;
            }

            @Override
            protected Object call() throws Exception {
              Path path = Paths.get("D:\\");
              // This one below  gets updated in the UI.
              updateMessage("asdkjasdkjhakj");
              FileSystemTraverse printFiles = new FileSystemTraverse(client);
              Files.walkFileTree(path,printFiles);
              return null;
            }

          }

Итак, мой вопрос - есть ли способ сделать это? Я читал где-то здесь о том, как делать это с Swing (они используют publish), но с javafx, похоже, не работает.

Заранее спасибо.

0 ответов

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