我有一个复合小部件,其中包含许多小部件(在HorizontalPanel
之内)。如何禁用HorizontalPanel
内的所有小部件或在此组合内?我无法找到Composite
setEnabled()
方法或面板如何禁用面板内部或复合内的所有小部件?
2
A
回答
2
这样做是递归获得面板的所有儿童和每个插件,扩展FocusWidget
3
调用setEnabled(false)
的唯一途径,我相信你”已经已经想通了,但如果其他人是好奇,这将启用或禁用所有嵌套FocusWidgets:
private void enableAllChildren(boolean enable, Widget widget)
{
if (widget instanceof HasWidgets)
{
Iterator<Widget> iter = ((HasWidgets)widget).iterator();
while (iter.hasNext())
{
Widget nextWidget = iter.next();
enableAllChildren(enable, nextWidget);
if (nextWidget instanceof FocusWidget)
{
((FocusWidget)nextWidget).setEnabled(enable);
}
}
}
}
+1
它足以投射到'HasEnabled'界面而不是'FocusWidget' – 2013-08-23 11:10:41
+0
我得到了“不相容的条件操作数类型Widget和HasWidgets”与您的代码。 – liftarn 2014-01-10 09:09:26
1
getWidget()复合类的方法是受保护的,内外部包复合因此你不能访问窗口小部件。因此,如果没有子类复合,你就无法获得Composite的子控件。
相关问题
- 1. GWT如何使用CSS在面板内部布置小部件
- 2. 如何在网站中禁用小部件的所有页面?
- 3. jQuery:禁用div内的所有链接 - 替换内部内容
- 4. 如何禁用小部件?
- 5. Dojo Dijit - 小部件内的小部件
- 6. Simplemodal禁用页面上覆盖的所有小部件
- 7. 如何清除tkinter文本小部件中的所有内容?
- 8. 如何在北部小部件中创建2个内容面板
- 9. UpdatePanel里面的控件内部模板
- 10. 内部内容的复合成分
- 11. 如何在QT中的另一个小部件内部部件?
- 12. 小枝内部的小枝模板
- 13. WordPress的小部件页面内容
- 14. 如何使ScrollPanel仅在内部小部件高于内部时才可见并且内部部件比内部小部件短时不可见?
- 15. 基维中的选项卡式面板内的小部件
- 16. JavaFX面板内部面板自动调整大小
- 17. 如何禁用ReSharper的内部模式?
- 18. alloca内部复合语句
- 19. ExtJS - 行内编辑面板中的Textarea小部件
- 20. kivy python小部件实例或所有小部件
- 21. 动态更新GWT复合窗口小部件的内容
- 22. jquery面板部件将不会打开内部页面
- 23. 我如何使用内部jQuery小部件的getscript
- 24. 如何禁用aptana内部浏览器
- 25. log4j如何禁用内部消息?
- 26. Log4Net。如何禁用内部调试
- 27. 如何禁用NodeJs内部模块?
- 28. 对面板内的所有项目禁用验证
- 29. 控件的“内部大小”
- 30. GWT复合小部件
嗯...坏..好吧,谢谢 – MyTitle 2012-02-11 14:42:44