2011-11-30 81 views
5

例如,窗口大小发生了变化(用户调整大小),如何获取当前窗口大小?如何检查java swing中的当前窗口大小?

+0

*“如何获取当前窗口大小?”*您为什么认为您需要它?我已经写了100个GUI,很少需要获取父容器的大小(特别是不需要调整大小)。 –

+2

如何处理frame的大小调整呢? – Giannis

回答

15
Rectangle r = frame.getBounds(); 
h = r.height; 
w = r.width; 
7

假设你有一个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

如果你不覆盖大部分方法,我会考虑使用[ComponentAdaper](http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/event/ComponentAdapter.html )代替 –

相关问题