无法将javafx.scene.layout.Pane转换为javafx.fxml.fxmloader

无法将javafx.scene.layout.Pane转换为javafx.fxml.fxmloader,java,javafx,Java,Javafx,我在尝试从一个场景切换到另一个场景时遇到问题。情况是这样的: 当前视图和控制器:login.fxml和LoginController 下一步视图和控制器:loggedWindow.fxml和UserPanelController 现在,我在LoginController中,试图将场景切换到loggedWindow.fxml向UserPanelController发送一个参数,但当我使用代码时,我得到: javafx.scene.layout.Pane cannot be cast to jav

我在尝试从一个场景切换到另一个场景时遇到问题。情况是这样的:

当前视图和控制器
login.fxml
LoginController

下一步视图和控制器
loggedWindow.fxml
UserPanelController


现在,我在
LoginController
中,试图将场景切换到
loggedWindow.fxml
UserPanelController
发送一个参数,但当我使用代码时,我得到:

javafx.scene.layout.Pane cannot be cast to javafx.fxml.FXMLLoader
登录控制器: LoggedWindow.fxml

.
.
材料(按钮/标签等)。
.
.
我将感谢任何帮助!提前谢谢

更新1 还考虑了此引用:

您正在使用FXMLLoader的“load”方法,该方法返回.fxml文件的根节点。在这种情况下,它将返回您的窗格

你应该使用它来创建你的场景

请参见JavaFX教程中给出的示例,如:

Pane root = FXMLLoader.load(getClass().getResource("loggedWindow.fxml"));
Scene scene = new Scene(root, width, height, color);
另一种方法,取自我的一段旧代码,使用非静态FXMLLoader:

FXMLLoader loader = new FXMLLoader(getClass().getResource(fxmlFile));
Parent root;

try {
    root = loader.load();
} catch (IOException ioe) {
    // log exception
    return;
}

// Color.TRANSPARENT allows use of rgba colors (alpha layer)
setScene(new Scene(root, Color.TRANSPARENT));

首先创建一个实例:
fxmloader loggedWindow=newfxmloader(getClass()…)
,然后可以加载fxml文件
窗格root=loggedWindow.load()听起来很有趣。但是,我想知道我是否可以在type
窗格
中使用
getController()
方法,因为我尝试了,但没有成功..:-?如果需要控制器,则需要调用FXMLLoader实例的getController()。在这种情况下,如果我们看我的第二个示例,将看到loader.getController()。
Pane root = FXMLLoader.load(getClass().getResource("loggedWindow.fxml"));
Scene scene = new Scene(root, width, height, color);
FXMLLoader loader = new FXMLLoader(getClass().getResource(fxmlFile));
Parent root;

try {
    root = loader.load();
} catch (IOException ioe) {
    // log exception
    return;
}

// Color.TRANSPARENT allows use of rgba colors (alpha layer)
setScene(new Scene(root, Color.TRANSPARENT));