我在API中很难找到如何获取UI资源。我可以获取UI资源名称,但不能获取实际资源:
fetchResourceFile().getUIResourceNames()
我想要实现的是,我在设计师中设计了一个小组件,我希望在它显示之前将其添加到表单中。
是否可以在代码中获取UI组件?
答案 0 :(得分:1)
您可以使用简单的getter获取大多数资源,例如getImage()
等。
UI元素更复杂,因为它们绑定到UIBuilder
类。设计时我们的目标是为不希望GUI构建器功能的开发人员保持二进制大小非常小,因此我们不希望创建从Resources
类到{{1 }。class。
因此,要从设计器加载UI组件,您需要反向使用API:
UIBuilder
请注意,由于UIBuilder uib = new UIBuilder();
Container cnt = uib.createContainer(resource, name);
和Form
是Dialog
的子类,因此您可以在适当情况下自然地向其转发。
另请注意,如果您有Container
类,则其为Statemachine
的子类,因此您无需创建新的UIBuilder
实例...