GWT-Raster wird nicht angezeigt, mit uiBinder
Ich habe eine 2-von-2-Raster in ein Projekt initialisiert mit uiBuilder, das raster aber nie auf der Seite angezeigt wird. Der Titel und Untertitel erscheinen in Ordnung. Ich habe gekämpft, mit diesem Tage. Jede Beratung wird sehr geschätzt (dies ist mein erstes gwt Projekt). Danke!
Gibt es 3 Dateien: Test.java, TaskSelect.java und TaskSelect.ui.xml
*Test.java***
package org.client;
import com.google.gwt.core.client.*;
import com.google.gwt.user.client.ui.*;
public class Test extends DeckPanel implements EntryPoint
{
public void onModuleLoad()
{
Test t = new Test();
TaskSelect taskselect = new TaskSelect();
t.add(taskselect);
t.showWidget(0);
RootPanel.get().clear();
RootPanel.get().add(t);
}
}
*TaskSelect.java**
package org.client;
import com.google.gwt.user.client.ui.*;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.*;
public class TaskSelect extends Composite {
interface Binder extends UiBinder<Widget, TaskSelect> { }
private static final Binder binder = GWT.create(Binder.class);
@UiField Button buttonA;
@UiField Button buttonB;
@UiField Button buttonC;
@UiField Button buttonD;
@UiField Grid mygrid;
public TaskSelect() {
initWidget(binder.createAndBindUi(this));
}
}
*TaskSelect.ui.xml**
<ui:UiBinder
xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:style>
.bigbutton {
font-size: 24pt;
width: 300px;
height: 95px;
}
.h1 {
font-size: 36pt;
font-weight: bold;
text-align: center;
margin: auto;
}
.subheading {
font-size: 24pt;
text-align: center;
margin: auto;
}
.panel {
margin: auto;
}
</ui:style>
<g:DockLayoutPanel unit='EM' addStyleNames='{style.panel}'>
<g:north size='10'>
<g:VerticalPanel addStyleNames='{style.panel}'>
<g:Label addStyleNames='{style.h1}'>Title is here</g:Label>
<g:Label addStyleNames='{style.subheading}'>Sub heading</g:Label>
</g:VerticalPanel>
</g:north>
<g:center size='10'>
<g:Grid ui:field='mygrid' addStyleNames='{style.panel}' cellSpacing='50'>
<g:row>
<g:customCell>
<g:Button ui:field='buttonA'>Button A</g:Button>
</g:customCell>
<g:customCell>
<g:Button addStyleNames='{style.bigbutton}' text='Button B' ui:field='buttonB' />
</g:customCell>
</g:row>
<g:row>
<g:customCell>
<g:Button addStyleNames='{style.bigbutton}' text='Button C' ui:field='buttonC' />
</g:customCell>
<g:customCell>
<g:Button addStyleNames='{style.bigbutton}' text='Button D' ui:field='buttonD' />
</g:customCell>
</g:row>
</g:Grid>
</g:center>
</g:DockLayoutPanel>
</ui:UiBinder>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Höhe/Breite des Gitters wird durch den
DockLayoutPanel
alsDockLayoutPanel
automatisch so skaliert, füllen den gesamten Raum aus. Überprüfen Sie die Dokumentation auf der Layout-widgets und sehen, wenn Sie benötigenDockLayoutPanel
oderDockPanel
.Sowieso das hinzufügen dieser auf die
.panel
Stil sollte es funktionieren:Ja, es klingt nicht logisch...
-Bearbeiten-
Und verwenden
RootLayoutPanel.get()
stattRootPanel.get()
. Dies, weil Sie ein LayoutPanel..panel
, aber das Ergebnis ist unverändert. Ich sehe die Titel und Untertitel, aber nicht das Gitter in der Mitte. Ich hatte ursprünglich ein DockPanel, aber GWT sagte mir, es war veraltet und ich sollte ein DockLayoutPanel.RootLayoutPanel.get()
und überprüfen Sie die doctype.