📜  如何获取 jframe 的当前大小 (1)

📅  最后修改于: 2023-12-03 15:38:53.407000             🧑  作者: Mango

如何获取 JFrame 的当前大小

在 Java Swing 中,JFrame 是一个用于创建 GUI 应用程序窗口的类。当我们需要知道当前 JFrame 的大小时,可以使用以下几种方法。

方案1:使用 getWidth() 和 getHeight() 方法

JFrame 类继承了 Component 类,因此可以通过调用 getWidth() 和 getHeight() 方法获取当前 JFrame 的宽度和高度。

int width = frame.getWidth();
int height = frame.getHeight();
方案2:使用 getSize() 方法

JFrame 还拥有一个名为 getSize() 的方法,该方法返回一个 Dimension 对象,其中包含了当前 JFrame 的宽度和高度。可以通过调用 Dimension 对象的 getWidth() 和 getHeight() 方法获取宽度和高度。

Dimension size = frame.getSize();
int width = size.getWidth();
int height = size.getHeight();
方案3:使用 getBounds() 方法

JFrame 类还提供了一个名为 getBounds() 的方法,该方法返回一个 Rectangle 对象,其中包含了当前 JFrame 的位置、宽度和高度。可以通过调用 Rectangle 对象的 getWidth() 和 getHeight() 方法获取宽度和高度。

Rectangle bounds = frame.getBounds();
int width = bounds.getWidth();
int height = bounds.getHeight();
方案4:使用 ComponentListener 监听器

我们还可以使用 ComponentListener 监听器来监听 JFrame 的大小变化事件,从而获取当前 JFrame 的大小。

frame.addComponentListener(new ComponentAdapter() {
    @Override
    public void componentResized(ComponentEvent e) {
        int width = frame.getWidth();
        int height = frame.getHeight();
        // 处理 JFrame 大小变化事件
    }
});

以上就是获取 JFrame 的当前大小的几种方法,开发者可以根据具体情况选择适合自己的方法。