在JavaFX中打开新场景
我有两个FXML文件和一个控制器 我已经发布了我试图创建第二个阶段(但失败)的代码 错误消息是:在JavaFX中打开新场景,javafx,scenebuilder,Javafx,Scenebuilder,我有两个FXML文件和一个控制器 我已经发布了我试图创建第二个阶段(但失败)的代码 错误消息是: javafx.scene.layout.AnchorPane cannot be cast to javafx.fxml.FXMLLoader 我怎么修理它 @FXML private Scene trial_scene; @FXML public Stage m; @FXML public void click(Stage stage) throws IOException {
javafx.scene.layout.AnchorPane cannot be cast to javafx.fxml.FXMLLoader
我怎么修理它
@FXML private Scene trial_scene;
@FXML public Stage m;
@FXML public void click(Stage stage) throws IOException {
m = new Stage();
openWindow();
}
@FXML private void openWindow() throws IOException {
FXMLLoader root =FXMLLoader.load(
SampleController.class.getResource(
"settings.fxml"
)
);
m.initModality(Modality.WINDOW_MODAL);
m.setTitle("My modal window");
m.setScene(trial_scene);
m.show();
}
静态方法FXMLLoader.load返回.fxml文件中定义的根节点(以及objet层次结构)。在你的情况下,它似乎是一种锚烷 你的第一句话应该是
AnchorPane root = FXMLLoader.load(SampleController.class.getResource("settings.fxml"));
例如,使用此对象构建新场景
Scene trial_scene = new Scene(root, 300, 300, Color.BLACK);
然后将此场景传递到您的新舞台
m.setScene(trial_scene);
@朱厄西:谢谢你的博客。我可以在每个JavaFX页面上看到你的名字。继续摇摆!!