我有一个TabLayoutPanel。一开始,TabLayoutPanel没有Tab。用户可以尽可能多地添加标签。他们还可以删除所有标签。
我的要求是:
每当TabLayoutPanel至少有一个标签时,我想设置button enabled = true。如果没有制表符,则设置按钮enabled = false。
getView().getMainTabLayoutPanel().addAttachHandler(new AttachEvent.Handler(){
@Override
public void onAttachOrDetach(AttachEvent event) {
int currentSelectedTabInt=getView().getMainTabLayoutPanel().getSelectedIndex();
if(currentSelectedTabInt>-1){
getView().getMyButton().setEnabled(true);
}
}
});
上述代码不起作用。
那么无论何时插入标签或从Gwt中的TabLayoutPanel中删除标签,如何触发事件?
答案 0 :(得分:1)
您可以在处理程序中设置按钮enabled = true或false,其中您将侦听按钮事件 AddTabButton 和 RemoveTabButton 。您必须检查可见/存在的标签数量。
myTabLayoutPanel.getWidgetCount(); //Returns the number of tabs and widgets.
答案 1 :(得分:0)
您可以创建TabLayoutPanel
的子类并覆盖doAttachChildren
和doDetachChildren
。您捕获的事件属于选项卡面板本身的附加/分离,而不是其子项。