java获取window窗口位置和大小

在Java中获取窗口(Window)的位置和大小可以通过以下方式实现。具体方法会根据你使用的GUI库而有所不同,常见的有Swing和JavaFX。下面分别介绍这两种情况的实现方法:

1. 使用 Swing(AWT)

如果你使用的是Swing(基于AWT),可以通过以下步骤获取窗口的位置和大小:

java
import javax.swing.JFrame; public class WindowSizeAndPosition { public static void main(String[] args) { JFrame frame = new JFrame("获取窗口位置和大小示例"); // 设置窗口大小 frame.setSize(400, 300); // 设置窗口位置 frame.setLocation(100, 100); // 显示窗口 frame.setVisible(true); // 获取窗口位置和大小 int x = frame.getX(); int y = frame.getY(); int width = frame.getWidth(); int height = frame.getHeight(); System.out.println("窗口位置:(" + x + ", " + y + ")"); System.out.println("窗口大小:" + width + " x " + height); // 可以通过 frame.getBounds() 方法获取整体边界信息 System.out.println("窗口边界:" + frame.getBounds()); } }

2. 使用 JavaFX

如果你使用的是JavaFX,获取窗口位置和大小的方式如下:

java
import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.Stage; public class WindowSizeAndPositionFX extends Application { @Override public void start(Stage primaryStage) { primaryStage.setTitle("获取窗口位置和大小示例"); // 设置窗口大小 primaryStage.setWidth(400); primaryStage.setHeight(300); // 设置窗口位置 primaryStage.setX(100); primaryStage.setY(100); // 显示窗口 primaryStage.show(); // 获取窗口位置和大小 double x = primaryStage.getX(); double y = primaryStage.getY(); double width = primaryStage.getWidth(); double height = primaryStage.getHeight(); System.out.println("窗口位置:(" + x + ", " + y + ")"); System.out.println("窗口大小:" + width + " x " + height); } public static void main(String[] args) { launch(args); } }

关键点解释:

  • Swing中的方法

    • 使用 frame.getX()frame.getY() 获取窗口的左上角坐标。
    • 使用 frame.getWidth()frame.getHeight() 获取窗口的宽度和高度。
    • 可以使用 frame.getBounds() 获取窗口的整体边界信息。
  • JavaFX中的方法

    • 使用 primaryStage.getX()primaryStage.getY() 获取窗口的左上角坐标。
    • 使用 primaryStage.getWidth()primaryStage.getHeight() 获取窗口的宽度和高度。

通过这些方法,你可以在Java程序中获取和操作窗口的位置和大小信息,以便进行后续的布局和调整。