【问题标题】:Form subclasses in codename one在代号一中形成子类
【发布时间】:2015-11-07 14:18:20
【问题描述】:

我正在Codename one 中构建一个应用程序。我正在尝试在代号一个资源 GUI 中创建一个表单并指定其在代码中使用的类型。背景是能够动态地指定表单中使用了哪些数据。

这是推荐的吗?有推荐的方法来实现吗?

目前我正在研究代号代码,看起来一种方法是将定制资源传递给StateMachine/UIBuilderUIBuilder 向资源询问组件类型并使用它返回自定义类型, 并使用类似的行注册自定义表单类型

UIBuilder.registerCustomComponent("MyForm",com.myapp.MyForm.class);

对此有何建议?

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    现在,在旧的 GUI 构建器中执行此操作的唯一方法是用新的 Form 子类替换所有表单,这在许多情况下都可以。例如。在状态机中覆盖它:

    protected Component createComponentInstance(String componentType, Class cls) {
        if(cls == From.class) {
            return new MyForm();
        }
        return super.createComponentInstance(componentType, cls);
    }
    

    请注意,我们正在迁移到一个新的更传统的 GUI 构建器,目前它处于技术预览状态(翻译:错误的地狱和许多缺失的功能)但这在未来应该是微不足道的。见:

    https://www.codenameone.com/blog/new-gui-builder.html

    https://www.codenameone.com/blog/gui-builder-walkthru.html

    https://www.codenameone.com/blog/terse-syntax-migration-wizard-more.html

    【讨论】:

    • 您好 Shai,感谢您的快速和宝贵的帮助 Marc K
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多