Use a imagem ClientBundle como imagem de fundo
Estou tentando usar uma imagem de umClientBundle
como imagem de fundo em um modelo UIBInder. Eu useiesta discussão como guia, mas não conseguiu fazê-lo funcionar.
Na minha classe Java eu tenho:
public static interface PriceButtonStyles extends ClientBundle
{
String paidIcon();
@ClientBundle.Source("paid_button_53x31.png")
DataResource paid_buttonAsDataResource();
}
@UiField
PriceButtonStyles priceButtonStyle;
E então, no arquivo de modelo correspondente, faço referência a ele como:
<ui:style field="priceButtonStyle" type="com.example.client.PriceButton.PriceButtonStyles">
@url paidIconUrl paid_buttonAsDataResource;
.paidIcon {
background: paidIconUrl 0 0 no-repeat;
}
</ui:style>
Neste momento, meu IDE está mostrando a string "paidIconUrl" em vermelho, indicando que algo não está certo:
E, de fato, quando tento executá-lo, recebo:
ERROR: Type com.ecample.client.PriceButton.PriceButtonStyles does not extend com.google.gwt.resources.client.CssResource Element <ui:style field='priceButtonStyle' type='com.example.client.PriceButton.PriceButtonStyles'> (:7).
ERROR: Uncaught exception escaped. com.google.gwt.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses
Mais adiante noiscussão dos @Google Groups sugere-se que isso funcione com<ui:data>
ao invés de<ui:style>
, então tentei fazer esse trabalho. Mas parece que você não pode incluir os dois estilos CSS (por exemplo, meupaidIcon()
método) e DataResources em<ui:data>
Recursos. Não consegui encontrar muita documentação no<ui:data>
, então eu realmente estou apenas tentando entender iss