Pregunta

Estoy usando GWT ClientBundle por primera vez. Escribí interfaz que se 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 exactamente dónde se puede encontrar estos recursos (imágenes en este caso). ¿Debo poner: a) en el mismo directorio que la interfaz - (feo)? b) en algún directorio específico que no puede ser cambiado? c) en el directorio que quiero, pero no debe haber mecanismo para especificar que - (sería genial)

?

Gracias.

¿Fue útil?

Solución

Por lo general crear un nuevo paquete de recursos (com.example.project.resource) y poner la interfaz ClientBundle y los recursos apropiados allí (en conjunto, como en en un directorio) - es un archivo Java además de un montón de imágenes, sin necesidad de una separación adicional, En mi humilde opinión.

En cuanto a las rutas de acceso a los recursos - se pueden pasar a través de la anotación @Source("path"). Por ejemplo, si usted tiene su interfaz de ClientBundle en com.example.project.resource e imágenes en com.example.project.images, entonces sería escribir @Source("../images/shim.gif"). Probablemente se podría utilizar rutas absolutas, pero asegúrese de que los almacena en una variable estática y compartir con los recursos, por lo que se puede reemplazar fácilmente;)

Otros consejos

Al igual que en 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 usted no consume un recurso (CSS / imagen / texto), el compilador GWT lo ignorará. Esto evita que guerra hinchazón como su aplicación obtiene titular y tienes cientos de imágenes y no están seguros de que se utilizan y cuáles no lo son.

Si se utiliza la opción de dejar caer todo en los pública / images carpeta, a continuación, todos los elementos se incluirá en su guerra aplicación, independientemente de si se utilizan.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top