當我在JPanel上調整大小後,有沒有從生成的ComponentEvent中返回新舊大小的字段或方法?Java - 如何從JPanel獲得新舊尺寸?
如果不是,有沒有辦法得到這個信息?
當用戶拖動和放下角落時,面板會隨窗口一起調整大小。
當我在JPanel上調整大小後,有沒有從生成的ComponentEvent中返回新舊大小的字段或方法?Java - 如何從JPanel獲得新舊尺寸?
如果不是,有沒有辦法得到這個信息?
當用戶拖動和放下角落時,面板會隨窗口一起調整大小。
不,調整大小發生時,無法獲得舊大小。此外,該活動不會跟蹤此信息。
唯一的解決方法是在調整大小後在字段中保存大小。如果pack()
未觸發偵聽器更新值,則可能需要獲取一次。
從ComponentEvent
您可以get the Component
被調整大小。從那裏你可以得到的大小(至少是實際的)。
在這個例子中我稱之爲JPanel
「面板」:
int oldWidth, oldHeight;
int newWidth, newHeight;
//Before resize
oldWidth = panel.getWidth();
oldHeight = panel.getHeight();
//After resize
newWidth = panel.getWidth();
newHeight = panel.getHeight();
那你試試才達到?似乎你只需要使用正確的['LayoutManager'](http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)。 – alex2410