2014-07-10 26 views
0

當我在JPanel上調整大小後,有沒有從生成的ComponentEvent中返回新舊大小的字段或方法?Java - 如何從JPanel獲得新舊尺寸?

如果不是,有沒有辦法得到這個信息?

當用戶拖動和放下角落時,面板會隨窗口一起調整大小。

+0

那你試試才達到?似乎你只需要使用正確的['LayoutManager'](http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)。 – alex2410

回答

1

不,調整大小發生時,無法獲得舊大小。此外,該活動不會跟蹤此信息。

唯一的解決方法是在調整大小後在字段中保存大小。如果pack()未觸發偵聽器更新值,則可能需要獲取一次。

0

ComponentEvent您可以get the Component被調整大小。從那裏你可以得到的大小(至少是實際的)。

-1

在這個例子中我稱之爲JPanel「面板」:

int oldWidth, oldHeight; 
int newWidth, newHeight; 

//Before resize 
oldWidth = panel.getWidth(); 
oldHeight = panel.getHeight(); 

//After resize 
newWidth = panel.getWidth(); 
newHeight = panel.getHeight();