JavaFX在两个类进行页面跳转
时间: 2023-12-23 14:06:21 浏览: 103
javaFX登陆和跳转
5星 · 资源好评率100%
在JavaFX中,可以使用两个类进行页面跳转,分别是Stage和Scene。下面分别介绍这两种方式的实现方法。
1. 使用Stage进行页面跳转
在一个类中创建一个新的Stage对象,并设置新的Scene。然后调用新的Stage对象的show方法,打开新的窗口。
```java
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("Hello World");
primaryStage.setScene(new Scene(root, 300, 275));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
// 跳转到新的页面
public void jumpToNewPage() throws Exception {
Stage newStage = new Stage();
Parent newRoot = FXMLLoader.load(getClass().getResource("newPage.fxml"));
newStage.setTitle("New Page");
newStage.setScene(new Scene(newRoot, 300, 275));
newStage.show();
}
}
```
2. 使用Scene进行页面跳转
在一个类中创建一个新的Scene对象,并将其设置到同一Stage中。然后调用Stage的show方法,切换到新的Scene。
```java
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("Hello World");
primaryStage.setScene(new Scene(root, 300, 275));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
// 跳转到新的页面
public void jumpToNewPage() throws Exception {
Parent newRoot = FXMLLoader.load(getClass().getResource("newPage.fxml"));
Scene newScene = new Scene(newRoot, 300, 275);
Stage stage = (Stage) rootPane.getScene().getWindow();
stage.setScene(newScene);
stage.show();
}
}
```
注意:在实际应用中,可能需要使用FXMLLoader加载FXML文件生成页面,或者使用FXML文件中定义的Controller实现页面跳转。
阅读全文