我遇到了 CollapsePanel 的问题。
当事件被触发时,我需要更改它的标题。到目前为止,我覆盖了 BorderLayout 的 createCollapsePanel 并向我需要的事件添加了一个侦听器:
final BorderLayout layout = new BorderLayout()
{
@Override
protected CollapsePanel createCollapsePanel(final ContentPanel panel, final BorderLayoutData data)
{
final CollapsePanel result = super.createCollapsePanel(panel, data);
panel.getHeader().addListener(Events.Change, new Listener<BaseEvent>()
{
@Override
public void handleEvent(BaseEvent be)
{
result.setTitle(panel.getHeading());
result.repaint();
layout();
}
});
result.setTitle(panel.getHeading());
return result;
}
};
上面的代码执行得很好,但是结果 CollapsePanel 永远不会得到新的标题。
有什么我想念的吗?谢谢