javafx实现一个窗口跳转到另外一个窗口
时间: 2024-04-28 10:26:32 浏览: 78
好的,实现 JavaFX 窗口之间的跳转需要以下步骤:
1. 创建两个窗口类,例如 `Window1` 和 `Window2`。
2. 在 `Window1` 窗口中添加一个按钮,并为按钮添加一个事件处理程序,以便单击按钮时跳转到 `Window2` 窗口。
```java
Button button = new Button("Go to Window 2");
button.setOnAction(e -> {
Window2 window2 = new Window2();
window2.show();
// 关闭当前窗口
Stage stage = (Stage) button.getScene().getWindow();
stage.close();
});
```
3. 在事件处理程序中创建一个新的 `Window2` 对象,并显示它。
```java
Window2 window2 = new Window2();
window2.show();
```
4. 关闭当前窗口,以便在跳转到 `Window2` 窗口后关闭 `Window1` 窗口。
```java
Stage stage = (Stage) button.getScene().getWindow();
stage.close();
```
完整的代码示例如下所示:
Window1.java:
```java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Window1 extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Button button = new Button("Go to Window 2");
button.setOnAction(e -> {
Window2 window2 = new Window2();
window2.show();
// 关闭当前窗口
Stage stage = (Stage) button.getScene().getWindow();
stage.close();
});
VBox root = new VBox(button);
Scene scene = new Scene(root, 300, 200);
primaryStage.setScene(scene);
primaryStage.setTitle("Window 1");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
Window2.java:
```java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Window2 extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Label label = new Label("This is Window 2");
VBox root = new VBox(label);
Scene scene = new Scene(root, 300, 200);
primaryStage.setScene(scene);
primaryStage.setTitle("Window 2");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
希望这可以帮助到您!
阅读全文