2011-01-26 38 views
2

我有一個名爲TablePanel的類來自JPanel。當我點擊框架另一部分的複選框時,此類的一個實例有時會調整其自身的大小。檢測JPanel大小變化的來源

是否有某種事件監聽器或某事,所以我可以追查什麼事件實際上導致這個TablePanel調整大小?

我曾嘗試加入以下TablePanel的構造函數:

 addPropertyChangeListener(new PropertyChangeListener() { 
      public void propertyChange(PropertyChangeEvent evt) { 
        System.out.println("TablePanel evt: " + evt); 
      } 
     }); 

但這不是「射擊」時,調整大小發生。

回答

2

我想你正在尋找ComponentListener的componentResized事件。

雖然我不知道爲什麼你需要這個。面板的佈局管理器應該處理面板上任何組件的大小調整/佈局。

這不會給你改變的實際來源。來源事件可能是框架被調整大小,然後佈局經理完成他們的工作。

這個類的一個實例,有時調整自己,當我點擊一個複選框在框架的另一部分。

我從來沒有見過這種情況。點擊一個複選框不應該改變它的大小,因此面板上的組件沒有理由被重新佈局。你必須有一些奇怪的代碼。發佈證明問題的SSCCE。