JavaFX 获取窗口高宽

JavaFX 是一种用于构建富客户端应用程序的框架,它提供了丰富的图形化界面控件和功能。在开发 JavaFX 应用程序时,有时我们需要获取窗口的高度和宽度来进行相应的布局和绘制操作。本文将介绍如何使用 JavaFX 获取窗口高宽的方法,并提供相应的代码示例。

获取场景(Scene)的窗口(Stage)

在 JavaFX 中,窗口(Stage)是顶级容器,用于包含应用程序的所有内容。而场景(Scene)则是窗口中的主要容器,用于承载应用程序的可视界面。要获取窗口的高度和宽度,我们首先需要获取场景对象。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;

public class WindowSizeExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Window Size Example");

        Button button = new Button("Click Me");
        Scene scene = new Scene(button, 400, 300);

        primaryStage.setScene(scene);
        primaryStage.show();

        // 获取场景的窗口
        Stage stage = (Stage) scene.getWindow();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在上面的示例代码中,我们创建了一个简单的窗口,并将一个按钮添加到场景中。然后,通过调用 getWindow() 方法,我们获取了场景的窗口对象。

获取窗口的高度和宽度

有了窗口对象后,我们可以使用 getHeight()getWidth() 方法来获取窗口的高度和宽度。

double height = stage.getHeight();
double width = stage.getWidth();

System.out.println("窗口高度:" + height);
System.out.println("窗口宽度:" + width);

上述代码将窗口的高度和宽度分别赋值给 heightwidth 变量,并通过 System.out.println() 方法打印出来。你也可以根据具体需求,将窗口的高度和宽度应用到相应的布局和绘制操作中。

完整代码示例

下面是一个完整的示例代码,演示了如何使用 JavaFX 获取窗口的高度和宽度:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;

public class WindowSizeExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Window Size Example");

        Button button = new Button("Click Me");
        Scene scene = new Scene(button, 400, 300);

        primaryStage.setScene(scene);
        primaryStage.show();

        // 获取场景的窗口
        Stage stage = (Stage) scene.getWindow();

        double height = stage.getHeight();
        double width = stage.getWidth();

        System.out.println("窗口高度:" + height);
        System.out.println("窗口宽度:" + width);
    }

    public static void main(String[] args) {
        launch(args);
    }
}

结论

通过使用 JavaFX 提供的方法,我们可以轻松地获取窗口的高度和宽度。这对于实现自适应布局、界面元素的动态调整以及绘制等操作非常有用。希望本文对你理解如何在 JavaFX 中获取窗口大小有所帮助。


参考链接:[JavaFX API 文档]( 源代码链接:[GitHub](

![JavaFX Logo](