我想问如何获得我在 Controller 中显示的 View 。
我想要这样做的原因是 DirectoryChooser
对话框需要 ownerWindow
才能正常工作。
还有其他解决办法吗?
DirectoryChooser directoryChooser = new DirectoryChooser();
File file = directoryChooser.showDialog(/*I need a javafx.stage.window here!*/);
最佳答案
只需从当前显示的任何场景图元素中获取当前窗口的引用即可。
element.getScene().getWindow()
例如,如果通过按钮操作打开对话框,您可以从按钮引用获取窗口。代码如下所示:
button.setOnAction(e -> {
DirectoryChooser directoryChooser = new DirectoryChooser();
File file = directoryChooser.showDialog(button.getScene().getWindow());
});
关于java - 获取 Controller 中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34017322/