ui binder模式:使用生成器初始化变量

时间:2016-05-31 18:42:18

标签: java gwt annotations uibinder

我正在尝试创建一个执行以下操作的GWT生成器:

public class MyPool {

    @InitializeThisVariable
    Element1  el1;

    @InitializeThisVariable
    Element2  el2;

    private static final ChildPool childPool = GWT
            .create(ChildPool.class);

    interface ChildPool extends Pool<MyPool>{}


    public MyPool(){

    }
}

我希望生成器初始化带注释的字段。在做了一些研究后,我发现这样做的唯一方法是使用上面的ui-binder使用的模式(我不想使用Annotations Processors)。

但是编译时出现以下错误:

[错误]第16行:重新绑定结果'ChildPool'必须是一个类

非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

如果生成的类,您的生成器需要返回名称。或者你忘记了模块中的func updateTimeLeft() { let elapsedTime = futureDate.timeIntervalSinceDate(NSDate()) self.timeLeft.text = NSDateComponentsFormatter().stringFromTimeInterval(elapsedTime) } 此外,您的代码不会使用生成的<generate-with>实例。

但请注意,GWT 2.8中不推荐使用生成器,您应该使用其他类型的代码生成器(无论是注释处理器还是别的)。你现在不应该开始编写新的生成器。