【发布时间】:2012-01-10 02:47:42
【问题描述】:
例如,窗口的大小改变了(用户调整了它的大小),如何获取当前的窗口大小?
【问题讨论】:
-
"如何获取当前窗口大小?" 你认为你为什么需要它?我已经编写了 100 多个 GUI,并且很少需要获取父容器的大小(尤其是在调整大小时)。
-
你如何处理框架的大小调整?
例如,窗口的大小改变了(用户调整了它的大小),如何获取当前的窗口大小?
【问题讨论】:
Rectangle r = frame.getBounds();
h = r.height;
w = r.width;
【讨论】:
假设您有一个在其中绘制界面的 JFrame:
Dimension size = frame.getBounds().getSize()
返回框架的尺寸。此外,您可以为框架提供一个调整大小处理程序,以便在用户调整框架大小时捕获:
class ResizeListener implements ComponentListener {
public void componentHidden(ComponentEvent e) {}
public void componentMoved(ComponentEvent e) {}
public void componentShown(ComponentEvent e) {}
public void componentResized(ComponentEvent e) {
Dimension newSize = e.getComponent().getBounds().getSize();
}
}
frame.addComponentListener(new ResizeListener());
【讨论】:
只需使用getSize()方法:javadoc
【讨论】:
getSize() 哪个类的方法?