2011-03-27 41 views
0

我做了一个使用组件的jFrame的游戏。有没有办法让JFrame更大,但是使用正方形的方式使长度总是等于拖动时的宽度?J框架调整大小的纵横比

任何帮助表示赞赏。

干杯

回答

3

你可以实现的ComponentListener,并有这样的事情

@Override 
public void componentResized(ComponentEvent arg0) { 
    Rectangle b = arg0.getComponent().getBounds(); 
    arg0.getComponent().setBounds(b.x, b.y, b.width, b.width); 

} 

,并用它为您的JFrame。唯一的事情是,使用JFrame,它不会引发这个事件,直到鼠标被释放。如果您想在拖动鼠标时看到所做的更改,则必须使用JPanel,并使用此ComponentListener代替JFrame,并使用该面板填充框架。

0

你可以尝试这样的事:

public void componentResized(ComponentEvent e) { 
       System.out.println("i have changed size applying aspect ratio now."); 

       setSize(getWidth(), getWidth()); 
       repaint(); 
      } 

这是一个小直观的你因为它的大小调整组件大小后。

相关问题