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