【发布时间】:2018-01-14 18:32:06
【问题描述】:
我正在制作一个 JavaFX 应用程序。我创建了一个 Menuitem About。单击关于菜单项后,它将显示一个新窗口,其中包含有关我的应用程序的一些信息。该窗口是带有自定义关闭按钮的Anchor Pane。我已经在运行时设置了底层涂层。我想在不关闭主应用程序的情况下关闭此窗口。我不想在方法调用时将其可见性关闭。我在网络中看到了一些解决方案,例如Window existingWindow = ((Node) event.getSource()).getScene().getWindow();,但我无法使用它,因为我遇到了类似于此 Menu item not cast node javafx scene 的错误。我怎样才能实现这个目标?
【问题讨论】:
-
没有其他节点可以获取窗口吗?
-
不,我想从关于 menuitem 中获得它,否则我必须在按钮单击时设置此功能。
-
不确定我是否理解。同一个窗口中肯定还有其他节点吗?你能在问题中加入一些代码来显示你在做什么吗?
-
我不明白你的意思。对不起。单击菜单项 about 时,我得到 about 窗口。关于窗口有四个标签和一个按钮。我想在不关闭主应用程序的情况下关闭它。
-
好的,所以您只需调用
aboutWindow.hide(),其中aboutWindow是对试图关闭的窗口的引用。您可以使用label.getScene().getWindow()或button.getScene().getWindow()获得该引用,其中label和button是窗口中显示的节点。有什么问题?
标签: javafx-8