JavaFX App: создание обратной связи с пользователем, что программа все еще работает

Я работаю над инструментом, чтобы читать XML-файлы из коллекции и записывать информацию в текстовый файл. Этот процесс может занять несколько секунд, и моя программа получает "нет ответа" в заголовке...

Есть ли простой способ сообщить пользователю, что программа все еще работает? как реализовать загрузку изображения или 3-точечную анимацию с меткой?

У меня нет опыта работы с этой темой

Это текущий метод для чтения файлов и записи текста:

@FXML
public void FullFilterAndExport() throws JAXBException, IOException {
    totalFilesCount = 0;
    totalFilesCountPositive = 0;
    PrintWriter pWriter = new PrintWriter(new BufferedWriter(new FileWriter(DB_Path.toString() + "\\export_full.txt")));        
    for(String file: FileList) {
        if (file.endsWith(".xml") && !file.contains("databaseinfo.xml")) {
            totalFilesCount = totalFilesCount +1;
            ItemList.clear();
            JAXBContext context = JAXBContext.newInstance(NotesDocumentMetaFile.class);
            Unmarshaller um = context.createUnmarshaller();
            NotesDocumentMetaFile docMetaFile = (NotesDocumentMetaFile) um.unmarshal(new FileReader(file));

            for(int i = 0; i < docMetaFile.getItems().size(); i++) {
                if(docMetaFile.getItems().get(i).getValueIsSpecial() == true) {
                    ItemList.add("Itemname:" + docMetaFile.getItems().get(i).getName());
                }
            }
            if(!ItemList.isEmpty()) {
                totalFilesCountPositive = totalFilesCountPositive + 1;
                pWriter.println(file);
                pWriter.println();
                for(String item : ItemList) {
                    pWriter.println(item);
                }
                pWriter.println();
            }

        }
    }
    pWriter.println();
    pWriter.println("------------------");
    pWriter.println("Anzahl der geprüften Dateien: " + totalFilesCount);
    pWriter.println("Anzahl der geprüften positiven Dateien: " + totalFilesCountPositive);
    if (pWriter != null){ 
        pWriter.flush(); 
        pWriter.close();
    }
}

0 ответов

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