在GWT项目中使用常量接口

时间:2013-08-13 13:18:32

标签: java gwt interface constants uibinder

我还没有在Constants中使用GWT界面,我遇到运行示例CellTable的问题。延迟绑定失败,中央错误消息为:“找不到contactDataBaseCategories的资源”。 contactDataBaseCategories是接口DataBaseConstants中定义的方法,它返回一个字符串数组。我怀疑我必须创建一个属性(txt?)文件并定义类别,但我不确定,因为我第一次遇到这种情况。如何正确地做出CellTable运行的示例?

更新:我在声明界面的同一个包中创建了ContactDatabase.DatabaseConstants.properties文件,我在文件中添加了这行:

contactDataBaseCategories =朋友,同事,其他

但它仍然无效。错误再次出现:“找不到contactDataBaseCategories的资源”,然后是

“com.al.celltablöeexample.ContactDatabase.DatabaseConstants的延迟绑定失败”。

出了什么问题?

3 个答案:

答案 0 :(得分:2)

我就是这样做的

常量界面

public interface DataBaseConstants extends Constants
{
    @Key("contact-database-categories")
    String contactDataBaseCategories();
}

属性文件。 DataBaseConstants.properties

contact-database-categories = "Your String"

你可以使用它

public DataBaseConstants dbConstant= GWT.create( DataBaseConstants .class );

dbConstant.contactDataBaseCategories();

<强>被修改 如果你想传递字符串数组,那么就可以这样做

@DefaultStringArrayValue({"cat1", "cat2", "cat3", "cat4", "cat5"})
  String[] contactDataBaseCategories();

More关于常量

答案 1 :(得分:1)

我终于成功了。问题是它无法找到资源/文件:ContactDatabase.DatabaseConstants.properties。我已将其更改为DatabaseConstants.properties,并将内部接口删除为自己的文件。我在界面CwCellTable上的课程CwConstants中所做的一样。此外,在example page中,错过了CwConstants接口的实例化,并且必须同时执行此操作(在构造函数中),就像在ContactDatabase类中一样。

答案 2 :(得分:0)

只需添加到Dilantha的答案,您就可以设置

contact-database-categories = Family, Friends, Coworkers, Businesses, Contacts

为了符合这个例子。

提示:为了使示例工作在CwCellList中创建一个costructor并添加以下内容:

initWidget(onInitialize());