📅  最后修改于: 2023-12-03 15:38:53.407000             🧑  作者: Mango
在 Java Swing 中,JFrame 是一个用于创建 GUI 应用程序窗口的类。当我们需要知道当前 JFrame 的大小时,可以使用以下几种方法。
JFrame 类继承了 Component 类,因此可以通过调用 getWidth() 和 getHeight() 方法获取当前 JFrame 的宽度和高度。
int width = frame.getWidth();
int height = frame.getHeight();
JFrame 还拥有一个名为 getSize() 的方法,该方法返回一个 Dimension 对象,其中包含了当前 JFrame 的宽度和高度。可以通过调用 Dimension 对象的 getWidth() 和 getHeight() 方法获取宽度和高度。
Dimension size = frame.getSize();
int width = size.getWidth();
int height = size.getHeight();
JFrame 类还提供了一个名为 getBounds() 的方法,该方法返回一个 Rectangle 对象,其中包含了当前 JFrame 的位置、宽度和高度。可以通过调用 Rectangle 对象的 getWidth() 和 getHeight() 方法获取宽度和高度。
Rectangle bounds = frame.getBounds();
int width = bounds.getWidth();
int height = bounds.getHeight();
我们还可以使用 ComponentListener 监听器来监听 JFrame 的大小变化事件,从而获取当前 JFrame 的大小。
frame.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
int width = frame.getWidth();
int height = frame.getHeight();
// 处理 JFrame 大小变化事件
}
});
以上就是获取 JFrame 的当前大小的几种方法,开发者可以根据具体情况选择适合自己的方法。