java - 如何在java swing中检查当前窗口大小?

Posted

技术标签:

【中文标题】java - 如何在java swing中检查当前窗口大小?【英文标题】:How to check current window size in java swing? 【发布时间】:2012-01-10 02:47:42 【问题描述】:

例如,窗口的大小改变了(用户调整了它的大小),如何获取当前的窗口大小?

【问题讨论】:

"如何获取当前窗口大小?" 你认为你为什么需要它?我已经编写了 100 多个 GUI,并且很少需要获取父容器的大小(尤其是在调整大小时)。 你如何处理框架的大小调整? 【参考方案1】:
Rectangle r = frame.getBounds();
h = r.height;
w = r.width;

【讨论】:

【参考方案2】:

假设您有一个在其中绘制界面的 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());

【讨论】:

如果您不覆盖大多数方法,我会考虑改用ComponentAdaper【参考方案3】:

只需使用getSize()方法:javadoc

【讨论】:

我在该链接上收到 404。请更新它并补充您的答案,因此这不会在将来使其无效。 getSize() 哪个类的方法? @VictorMoraes 自从 OP 暂停了一段时间,我更新了断开的链接。

以上是关于java - 如何在java swing中检查当前窗口大小?的主要内容,如果未能解决你的问题,请参考以下文章

Java:如何在 Swing 中进行双缓冲?

如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。

java - 如何获取Java Swing列表中未选择的右键单击项目?

Java swing在Debian 9.2中不起作用

java swing中如何自行丢失焦点?已知怎样获取没找到如何丢失!

java swing 中的列表框JList如何在程序中动态的添加和删除元素