我有一个FXML文件,用于在请求时允许用户输入。现在我只是把它放在一个新的阶段,并做Stage.show()
。我希望不会将它显示在新窗口中,表现得更像是ContextMenu
。如何在JavaFX中使用FXML创建内部弹出窗口
看着ContextMenu
类,它似乎没有,我可以设置基于FXML文件的内容。有没有办法做到这一点ContextMenu
或Popup
或我不知道的其他类?
我有一个FXML文件,用于在请求时允许用户输入。现在我只是把它放在一个新的阶段,并做Stage.show()
。我希望不会将它显示在新窗口中,表现得更像是ContextMenu
。如何在JavaFX中使用FXML创建内部弹出窗口
看着ContextMenu
类,它似乎没有,我可以设置基于FXML文件的内容。有没有办法做到这一点ContextMenu
或Popup
或我不知道的其他类?
虽然这个库很不错,但我想要的东西很简单,不需要第三方下载。我想出了这个:
Popup popup = new Popup();
CustomController controller = new CustomController();
FXMLLoader loader = new FXMLLoader(getClass().getResource(fxmlfile));
loader.setController(controller);
popup.getContent().add((Parent)loader.load());
问题是我不知道,一个Parent
可以考虑的方法Popup#getContent#add
Node
ControlsFX有一个PopOver控件,你可能会喜欢。 PopOver可以为其内容使用任何节点,因此您可以简单地创建弹出窗口,从FXML加载节点并将弹出窗口的内容设置为该节点。