我是第一次使用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)在我想要的目录中,但是应该有机制来指定它-(会很棒)吗?
谢谢。
我通常为资源(com.example.project.resource)创建一个新程序包,并将 ClientBundle接口和适当的资源放在那里(一起,放在一个目录中)-它是一个Java文件加上一堆图像,不需要进一步分离,恕我直言。
com.example.project.resource
ClientBundle
至于资源的路径- 您可以通过@Source("path")注释传递它们。例如,如果您的ClientBundle接口位于中com.example.project.resource,图像位于中com.example.project.images,则可以编写@Source("../images/shim.gif")。您可能使用了绝对路径,但是请确保将它们存储在静态变量中并在资源之间共享,以便可以轻松地覆盖它;)
@Source("path")
com.example.project.images
@Source("../images/shim.gif")