java gwt clientbundle

java - Cómo ClientBundle en GWT?



(2)

Normalmente creo un nuevo paquete de recursos ( com.example.project.resource ) y coloco la interfaz de ClientBundle y los recursos apropiados allí (en conjunto, como en un directorio) - es un archivo de Java más un montón de imágenes, sin necesidad de mayor separación, en mi humilde opinión.

En cuanto a las rutas a los recursos, puede pasarlos a través de la @Source("path") . Por ejemplo, si tiene su interfaz ClientBundle en com.example.project.resource e imágenes en com.example.project.images , entonces @Source("../images/shim.gif") escribir @Source("../images/shim.gif") . Probablemente puedas utilizar rutas absolutas, pero asegúrate de almacenarlas en una variable estática y compartirlas entre el recurso, para que pueda ser reemplazado fácilmente;

Estoy usando GWT ClientBundle por primera vez. Escribí la interfaz que lo extiende y aquí está el código:

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(); }

Mi pregunta es: ¿cómo puedo saber dónde se encuentran exactamente estos recursos (imágenes en este caso)? ¿Debería ponerlos: a) en el mismo directorio que la interfaz - (feo)? b) en algún directorio específico que nunca se puede cambiar? c) en el directorio que quiero, pero debería haber un mecanismo para especificarlo - (sería genial)?

Gracias.


Similar a los puntos de Igor:

com.yoursite.resources: YourClientBundle.java com.yoursite.resources.css: YourCssResource.java com.yoursite.resources.images: image files here

La clave aquí es que si no consume un recurso (CSS / Image / Text), el compilador GWT lo ignorará. Esto previene la hinchazón de la guerra a medida que su aplicación obtiene soporte y usted tiene cientos de imágenes y no está seguro de cuáles se utilizan y cuáles no.

Si usa la opción de descartar todo en la carpeta pública / imágenes , todos los elementos se incluirán en la guerra de aplicaciones, independientemente de si se usan.