【问题标题】:Detecting source of change in JPanel size检测 JPanel 大小的变化源
【发布时间】:2011-01-26 21:26:27
【问题描述】:

我有一个名为 TablePanel 的类,它是 JPanel 的后代。当我单击框架另一部分中的复选框时,此类的一个实例有时会自行调整大小。

是否有某种事件侦听器或其他东西,以便我可以追踪实际导致此 TablePanel 调整大小的事件?

我尝试将以下内容添加到 TablePanel 的构造函数中:

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

但这并不是在调整大小时“触发”。

【问题讨论】:

    标签: java swing jpanel propertychangelistener


    【解决方案1】:

    我猜你正在寻找 ComponentListener 的 componentResized 事件。

    虽然我不确定你为什么需要这个。面板的布局管理器应处理面板上任何组件的大小调整/布局。

    这不会为您提供更改的实际来源。源事件很可能是调整大小的框架,然后布局管理器完成他们的工作。

    当我单击框架另一部分中的复选框时,此类的一个实例有时会自行调整大小。

    我从未见过这种情况发生。单击复选框不应更改其大小,因此没有理由再次布置面板上的组件。你一定有一些奇怪的代码。发布证明问题的 SSCCE。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 2014-02-17
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多