一尘不染

如何在GWT中使用ClientBundle?

java

我是第一次使用GWT ClientBundle。我写了扩展它的接口,下面是代码:

package edu.etf.fuzzy.client.login;

import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;

public interface Resources extends ClientBundle {

 @Source("logo_federacija.jpg")
 ImageResource logo();

 @Source("shim.gif")
 ImageResource shim();
}

我的问题是:如何确定这些资源(在本例中为图像)的确切位置。我是否应该将它们放在:a)与接口相同的目录中(难看)?b)在某些永远无法更改的特定目录中?c)在我想要的目录中,但是应该有机制来指定它-(会很棒)吗?

谢谢。


阅读 230

收藏
2020-12-03

共1个答案

一尘不染

我通常为资源(com.example.project.resource)创建一个新程序包,并将
ClientBundle接口和适当的资源放在那里(一起,放在一个目录中)-它是一个Java文件加上一堆图像,不需要进一步分离,恕我直言。

至于资源的路径-
您可以通过@Source("path")注释传递它们。例如,如果您的ClientBundle接口位于中com.example.project.resource,图像位于中com.example.project.images,则可以编写@Source("../images/shim.gif")。您可能使用了绝对路径,但是请确保将它们存储在静态变量中并在资源之间共享,以便可以轻松地覆盖它;)

2020-12-03