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

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

【问题讨论】:

  • "如何获取当前窗口大小?" 你认为你为什么需要它?我已经编写了 100 多个 GUI,并且很少需要获取父容器的大小(尤其是在调整大小时)。
  • 你如何处理框架的大小调整?

标签: java swing


【解决方案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());
    

    【讨论】:

    【解决方案3】:

    只需使用getSize()方法:javadoc

    【讨论】:

    • 我在该链接上收到 404。请更新它并补充您的答案,因此这不会在将来使其无效。 getSize() 哪个类的方法?
    • @VictorMoraes 自从 OP 暂停了一段时间,我更新了断开的链接。
    猜你喜欢
    • 2010-12-28
    • 2012-01-01
    • 2012-06-28
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多