我在第一个场景上有一个简单的按钮,应该会导致第二个场景。当我点击按钮时,它改变场景,但只显示一个空白屏幕。如果我关闭原始舞台,然后显示一个包含新场景的新舞台,它会正常工作,但我不想打开一个新窗口。
这是我的控制器类:
public class TitleController implements Initializable {
@FXML
private Button startButton;
@Override
public void initialize(URL location, ResourceBundle resources) {
}
//When next/start/main buttons are clicked, transition scene
public void transitionScenes() throws IOException{
Stage stage;
Stage newStage;
Parent root;
stage = (Stage) startButton.getScene().getWindow();
root = FXMLLoader.load(getClass().getResource("Round_1.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
}
主类:
public class Main extends Application{
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("/fxml/Title_Screen.fxml"));
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
它对我有用,当我像这样切换场景时:
public class TestApp extends Application {
@Override
public void start(Stage primaryStage) throws IOException {
Button btnChangeScene = new Button("change scene");
Button btnChangeSceneBack = new Button("change sceneBack");
btnChangeScene.setOnAction(e -> {
StackPane root = new StackPane(btnChangeSceneBack);
root.setStyle("-fx-background-color: orange");
Scene scene = new Scene(root, 300, 300);
Stage stage = (Stage) btnChangeScene.getScene().getWindow();
stage.setScene(scene);
});
StackPane root = new StackPane(btnChangeScene);
Scene scene = new Scene(root, 300, 300);
btnChangeSceneBack.setOnAction(e -> {
primaryStage.setScene(scene);
});
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
}`我正在计划在同一舞台上使不同的部分成为自己的场景。如果有任何帮助,我将不胜感激。我正在使用NetBeans8.2。
问题内容: 我有一个使用javafx Scene来渲染某些东西的应用程序,并且我想将该渲染结果放入我在Javafx中创建的某些GUI中。我该怎么做? 基本上,有一些容器可以放入场景,然后将其放入GUI。 抱歉,如果是新手问题,我是JavaFX的新手 问题答案: 该场景只有一个顶级父节点作为根。您可以获取它并放入另一个场景。
我是JavaFX的新手。我有我的主要场景和次要场景;当我从第一个场景切换到第二个场景时,窗口的条形图变得可见。我该怎么解决呢?
所以基本上我想做的是改变我的场景的一部分。我想保持一个静态菜单栏在顶部,只改变底部的部分根据哪个菜单按钮正在被点击。这意味着每个“页面”都需要不同的FXML文件和控制器类。 看看可用的JavaFX特性,我认为SubScene可以完成这项工作。但经过进一步的调查,似乎子场景是为3D东西制作的?所以我真的不知道我该做什么。 任何帮助都将不胜感激!
我创建了一个游戏,我想给它添加一个开始屏幕,我使用FXML添加了它,还添加了两个按钮(开始和退出)。 按下开始按钮后,我希望游戏加载场景并切换到游戏开始。我对如何做有一个粗略的想法,但我有点挣扎,因为我的SampleController类不知道如何启动游戏等,因为所有代码(以及加载初始开始菜单的代码)都在我的主类中,所以我尝试了这样的事情: 我尝试使用一个函数来切换场景,但它不起作用,也试图使用获