如何在JavaFx中使两个场景同时出现

时间:2018-08-25 14:05:10

标签: javafx

这是我的代码,方法是右键单击第一个场景,出现第二个场景,但是事情是第一个场景出现故障,是否有解决方案,第一个场景没有出现故障,第二个场景出现在其中?

@FXML
private void newFolder(MouseEvent event) {

    if (event.getButton() == MouseButton.SECONDARY) {

    Label secondLabel = new Label("I'm a Label on new Window");

    StackPane secondaryLayout = new StackPane();
    secondaryLayout.getChildren().add(secondLabel);

    Scene secondScene = new Scene(secondaryLayout, 400, 400);

    // New window (Stage)
    Stage newWindow = new Stage();
    newWindow.setTitle("Second Stage");
    newWindow.setScene(secondScene);

    // Set position of second window, related to primary window.
    newWindow.setX(200);
    newWindow.setY(100);
    newWindow.show();

    }
}

1 个答案:

答案 0 :(得分:0)

如果您想将两个节点彼此叠置,则不必再有其他Scene,只需将Node添加到场景内的同一根节点上即可。

StackPane root = new StackPane();
root.getChildren().addAll(node1,node2);

Scene scene1 = new Scene(root,400,400);

FirstStage.setScene(scene1);

除非您希望拥有多个屏幕是另一回事,否则我无法从问题中确切得到您想要的东西