2011-01-26 39 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。