我有一個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加載節點並將彈出窗口的內容設置爲該節點。