我正在尝试创建一个程序来教人们关于GNU / Linux和命令行,我有我的main.java
package sample;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
Stage window;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
window = primaryStage;
Parent root = FXMLLoader.load(getClass().getResource("login.fxml"));
primaryStage.setTitle("Learnix");
primaryStage.setScene(new Scene(root, 800, 500));
primaryStage.show();
}
}
控制器随身携带。
package sample;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import java.io.IOException;
public class loginController {
public Button loginBtn;
public void loginBtnClick() throws IOException {
System.out.println("You are logged in");
}
}
我尝试了以下内容:
FXMLLoader.load(getClass().getResource("lessons.fxml"));
但我无法弄清楚如何让它交换场景。我在YouTube和Stack Overflow上看过很多教程,但是很多教程都使用main.java
上的所有JavaFX而不是单独的文件,因为我使用的是场景构建器。
谢谢。
答案 0 :(得分:3)
您可以调用Stage.setScene()
来更改整个场景,或者只需将Scene.setRoot()
替换为新的场景:
Parent newRoot = FXMLLoader.load(getClass().getResource("lessons.fxml"));
primaryStage.getScene().setRoot(newRoot);