JavaFX App:创建用户反馈,程序仍在运行

时间:2017-07-10 10:44:02

标签: user-interface javafx jaxb loading no-response

我正在使用工具从集合中读取XML文件并将信息写入文本文件。这个过程可能需要几秒钟,我的程序会得到“没有响应”#34;在标题中......

"no response" in the title

是否有一种简单的方法来通知用户该程序仍然有效?比如使用Label实现加载图像或3点动画?

我对此主题没有经验

这是读取文件并写入txt的当前方法:

@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 个答案:

没有答案