将javafx按钮实例放在一个";“可移动”;节点

将javafx按钮实例放在一个";“可移动”;节点,java,javafx,Java,Javafx,我有一个具有视图实例的事件处理程序(javafx场景) 以下是场景代码: public class GameMenuScene { private final Button btnArcade; private final Button btnTraining; private final Button btnReplay; private final VBox mainMenuBox; private Scene mainMenuScene;

我有一个具有视图实例的事件处理程序(javafx
场景

以下是场景代码:

public class GameMenuScene {

    private final Button btnArcade;
    private final Button btnTraining;
    private final Button btnReplay;

    private final VBox mainMenuBox;
    private Scene mainMenuScene;

    public GameMenuScene() {
        btnArcade = new Button("Arcade");
        btnTraining = new Button("Training");
        btnReplay = new Button("Replay");

        mainMenuBox = new VBox(4);
        mainMenuBox.getChildren().addAll(btnArcade, btnTraining, btnReplay);

        mainMenuScene = new Scene(mainMenuBox, 300, 300);
    }

    public Scene getGameMenuScene() {
        return mainMenuScene;
    }

    public VBox getGameMenuSortcut() {
        return mainMenuBox;
    }
在我的应用程序类中,我首先调用
getGameMenuScene()将正确显示
mainMenuScene

问题是当我调用
getGameMenuSortcut()时从另一个EventHandler中,菜单看起来是空的,但在调试中,我可以看到按钮在VBox中。
当我使用getGameMenuSortcut()时,为什么它们不出现在VBox中;从另一个角度看

以下是另一个事件处理程序的示例:

public class EV {
    private final Scene EVview;

    private GameMenuScene sc;
    private VBox menu;

    public EV() {
        menu.getChildren.add(new Label("Menu")); 
        EVview = new Scene(mainMenuBox, 300, 300);
        addMenu(); //This add a menu with the 3 buttons, but they do not get displayed.
    }

    public void addMenu() {
        menu.getChildren.add(sc.getGameMenuSortcut());
    }
}

您正在将mainMenuBox添加到不同的场景。

您提供的信息不完整。如果答案对您来说不够,请提供一个。是的,这是我想要做的,或者至少是按钮。它们在两个不同的场景中,但在第二个场景中它们没有出现,有没有办法在两个不同的场景中使用相同的VBox,或者在javafx中使用类似的东西?