2015-05-26 66 views
0

我有一个FXML文件,用于在请求时允许用户输入。现在我只是把它放在一个新的阶段,并做Stage.show()。我希望不会将它显示在新窗口中,表现得更像是ContextMenu如何在JavaFX中使用FXML创建内部弹出窗口

看着ContextMenu类,它似乎没有,我可以设置基于FXML文件的内容。有没有办法做到这一点ContextMenuPopup或我不知道的其他类?

回答

3

虽然这个库很不错,但我想要的东西很简单,不需要第三方下载。我想出了这个:

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
0

ControlsFX有一个PopOver控件,你可能会喜欢。 PopOver可以为其内容使用任何节点,因此您可以简单地创建弹出窗口,从FXML加载节点并将弹出窗口的内容设置为该节点。