【发布时间】:2012-03-18 20:36:09
【问题描述】:
我正在向JTabbedPane 添加一个自定义组件。选项卡的标题由组件中的getName() 确定。现在在某个时候getName() 的结果发生了变化,但选项卡标题不会自动刷新(正如预期的那样)。我怎样才能做到这一点?
【问题讨论】:
标签: java swing data-binding jtabbedpane
我正在向JTabbedPane 添加一个自定义组件。选项卡的标题由组件中的getName() 确定。现在在某个时候getName() 的结果发生了变化,但选项卡标题不会自动刷新(正如预期的那样)。我怎样才能做到这一点?
【问题讨论】:
标签: java swing data-binding jtabbedpane
每次更改组件的名称时,它都可能抛出PropertyChangeEvent。将组件添加到选项卡式窗格后,您可以向组件添加PropertyChangeListener,监听其name 属性的变化,并相应地更新选项卡名称。
不过,当组件从选项卡式窗格中移除时,不要忘记移除侦听器。
【讨论】:
setTitleAt(),但窗格本身在组件上调用getName()。当然我可以直接打电话给setTitleAt(),但是这样对吗?
getName() 一次,之后再也不调用,所以看来我应该只使用setTitleAt()。
JTabbedPane