Я изменил свой «topPanel» UiField, чтобы ссылаться на FlowPanel, а не на SimplePanel.
- Но когда я делаю это, оригинальный метод setWidget в моем классе «View» больше не действителен.
Какую настройку (- если можно сделать) можно сделать, чтобы FlowPanel "@UiField" компилировался и обрабатывался правильно?
Вот класс "View" ...
public class TopPanel extends Composite implements AcceptsOneWidget
{
-
-
-
//...prev...@UiField
//...prev...SimplePanel topPanel;
//...Trying to make this work...
@UiField
FlowPanel topPanel;
-
-
-
//...how should this method be modified or replaced to allow the FlowPanel "@UiField" to work?....
@Override
public void setWidget(IsWidget w)
{
topPanel.setWidget(w);
}
}
Вот шаблон uiBinder ...
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style src="app.css" />
<g:HTMLPanel width="50%" height="50%">
<!-- <g:SimplePanel ui:field="topPanel"> -->
<g:FlowPanel ui:field="topPanel">
<g:Button text="from aaa: go to bbb" ui:field="topButtonA"></g:Button>
<g:Button text="from bbb: go to ccc" ui:field="topButtonB"></g:Button>
<g:Button text="from ccc: go to aaa" ui:field="topButtonC"></g:Button>
</g:FlowPanel>
</g:HTMLPanel>
</ui:UiBinder>