how can I use the same UI template (*.ui.xml file) with multiple Java objects extending from Composite?
I need to build several pages that should display basically the same information with the same layout, but on one page some fields will be editable, and on a different page other fields will be editable. I would like to specify layout only once in ui.xml, and create different behaviors in different *.java classes.
Eclipse is giving me a syntax error "FirstAppUI.ui.xml is missing" on
@UiTemplate("Template.ui.xml") public class FirstAppUI extends Composite { interface FirstAppUIUiBinder extends UiBinder<Widget, FirstAppUI> { } }
thanks! jane prusakova
I think you need to place the @UiTemplate
annotation on the Binder
, not on the Composite
class
This code works for me:
public class TestUiBinder extends Composite {
@UiTemplate("SomeTemplate.ui.xml")
interface TestUiBinderUiBinder extends UiBinder<Widget, TestUiBinder> {}
private static TestUiBinderUiBinder uiBinder = GWT.create(TestUiBinderUiBinder.class);
public TestUiBinder() {
initWidget(uiBinder.createAndBindUi(this));
}
}
public class AnotherTestUiBinder extends Composite {
@UiTemplate("SomeTemplate.ui.xml")
interface TestUiBinderUiBinder extends UiBinder<Widget, AnotherTestUiBinder> {}
private static TestUiBinderUiBinder uiBinder = GWT.create(TestUiBinderUiBinder.class);
public AnotherTestUiBinder() {
initWidget(uiBinder.createAndBindUi(this));
}
}
This seems somewhat similar to the solution for applying different templates to the same widget.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With