这是我的项目结构。 [projectStructure] [1]
这里有更多的项目。 MainController:
FileOpeniongFunction(){
File selectedFile=fc.showOpenDialog(null);
filePath = selectedFile.getAbsolutePath().toString();
if(selectedFile !=null){
mylistview.getItems().add(selectedFile.getName());
}
else {
System.out.println("File is not valid");
}
}
@FXML
private void unzipitems(ActionEvent event) throws IOException {
if(!filePath.isEmpty()){
progressbox.display(filePath);
}
}
和ProgressBoxController:
public void display(String zipFilePath) throws IOException {
Stage window = new Stage();
Parent root =
FXMLLoader.load(getClass().getResource("/view/progress.fxml"));
window.initModality(Modality.APPLICATION_MODAL);
Scene scene = new Scene(root);
window.setScene(scene);
window.showAndWait();
unzipper.unzip(zipFilePath);
}
我想让showAndWait和unzipper.unzip同时工作。但只有一个接一个地运行。我尝试将unzipper.unzip()放在ProgressBoxController的初始化中,但是我无法将“filePath”放到该控制器上。