我试图在 JavaFX 中单击按钮时检索 XLS 文件并将其加载到 TableView 中。我正在使用 Task 类和 ExecutorService 来启动新线程。我需要阅读器类可重用,但 FileChooser 没有显示。
这是我尝试编写一些并发代码。我想知道我做错了什么以及如何改进我的代码,因为一切都是事件驱动的?
控制器类代码
public void retrieveCustomersFromXLS() {
try {
loader.setOnSucceeded(workerStateEvent -> {
File file = null;
try {
file = loader.get();
} catch (Exception e) {
e.printStackTrace();
}
if (file != null && file.exists()) {
reader.setWorkingFile(file);
executor.submit(reader);
}
});
reader.setOnSucceeded(workerStateEvent1 -> {
Object[][] XLSFile = new Object[0][];
try {
XLSFile = reader.get();
} catch (Exception e) {
e.printStackTrace();
}
if (XLSFile != null) {
tableInterface.setEntries(XLSFile);
tableInterface.setEntryType("customers");
executor.submit(tableInterface);
}
});
executor.submit(loader);
} catch (Exception e) {
e.printStackTrace();
}
}
江户川乱折腾
相关分类