2011-03-27 89 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(); 
      } 

這是一個小直觀的你因爲它的大小調整組件大小後。