FileChooser打开时,无法阻止对话框

时间:2018-05-09 12:01:23

标签: javafx javafx-8

我在打开FileChooser时遇到阻止对话窗口的问题。当我从主应用程序窗口打开FileChooser时,我没有阻止应用程序主窗口的任何问题(使用fileChooser.showOpenDialog(Main.getPrimaryStage);)。但是当我从Dialog打开Filechooser时,我遇到了问题。我不能专注于主应用程序窗口,因为Dialog具有属性dialog.initOwner(Main.getPrimaryStage());,但我仍然可以专注于Dialog并一遍又一遍地打开下一个FileChooser。 App image view。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式获取用于显示对话框 cancelTimer$ = new Subject(); startTimer(interval?: number = 1000) { this.cancelTimer$.next(); const timer = Observable.interval(interval); timer.takeUntil(this.cancelTimer$) .subscribe((res) => { console.log(res) }, err => console.log(err), () => { console.log('completed') }) } 的窗口的参考:

dialogPane

使用此功能,您可以创建"所有者"文件选择对话框的窗口:

Window dialogWindow = dialog.getDialogPane().getScene().getWindow();

这是一个SSCCE:

Window dialogWindow = dialog.getDialogPane().getScene().getWindow();
File file = fileChooser.showOpenDialog(dialogWindow);