2013-03-26 43 views
0

我有一個Flowpanel一些列表框和標籤在它:GWT - 我flowpanel一個html文件的結構

private ListBox lbStartHour = new ListBox(); 
private ListBox lbStartMin = new ListBox(); 
private ListBox lbPauseMin = new ListBox(); 
private ListBox lbEndHour = new ListBox(); 
private ListBox lbEndMin = new ListBox(); 
private DateBox dbxDate = new DateBox(); 
private Button OK = new Button(); 
private Label lblError = new Label(); 
private Label lblStart = new Label(); 
private Label lblPause = new Label(); 
private Label lblEnd = new Label(); 
private Label lblHour = new Label(); 
private Label lblMin = new Label(); 
private Label lblDate = new Label(); 

flowpanel.add(lblHour); 
    lblHour.setText("Stunden: "); 
    flowpanel.add(lblMin); 
    lblMin.setText("Minuten: "); 
    flowpanel.add(lbStartHour); 
    flowpanel.add(lbStartMin); 
    flowpanel.add(lbPauseMin); 
    flowpanel.add(lbEndHour); 
    flowpanel.add(lbEndMin); 
    flowpanel.add(dbxDate); 
    dbxDate.setFormat(new DateBox.DefaultFormat(DateTimeFormat.getFormat("dd/MM/yyyy"))); 
    flowpanel.add(OK); 
    OK.setText("Buchen"); 
    flowpanel.add(lblError);  
    lblError.setText(""); 
    flowpanel.add(lblDate); 
    lblDate.setText("Datum: "); 
    flowpanel.add(lblStart); 
    lblStart.setText("Beginn: "); 
    flowpanel.add(lblPause); 
    lblPause.setText("Pause: "); 
    flowpanel.add(lblEnd); 
    lblEnd.setText("Ende: "); 

然後,我有一定的結構,這樣一個.html文件:

<table id="mainTable" style="padding-bottom: 50px"> 
<tr> 
    <td></td> 
    <td id="lblHour"></td> 
    <td id="lblMin"></td> 
</tr> 
    <tr> 
    <td id="lblStart"></td> 
    <td id="lbStartHour"></td> 
    <td id="lbStartMin"></td> 
    </tr>  
    <tr> 
    <td id="lblPause"></td> 
    <td></td> 
    <td id="lbPauseMin"></td> 
    </tr> 
    <tr> 
    <td id="lblEnd"></td> 
    <td id="lbEndHour"></td> 
    <td id="lbEndMin"></td> 
    </tr> 
    <tr> 
    <td id="lblDate"></td> 
    <td id="dbxDate"></td> 
    <td></td> 
    <td id="OK"></td> 
    </tr> 
    <tr> 
    <td id="timeBx"></td> 
    </tr> 
    <tr> 
    <td id="error" colspan="5"></td> 
    </tr> 
</table> 

在我的rootpanel中,我只能使用RootPanel.get("lblHour").add(lblHour);將它「綁定」到我的java代碼中,但我怎樣才能使我的FlowPanel完全相同?

+0

你正在以一種困難的方式解決這個問題。你應該看看GWT的UiBinder功能 - https://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder – SSR 2013-03-26 13:54:36

回答

1

您需要在GWT's UiBinder的環境中看到您的混合和匹配gwt java代碼與html的方法。

GWT的UiBinder爲您提供了使用css/html的靈活性,並允許您在gwt小部件中插件。

嘗試避免從表格中獲取RootPanel中的一個單元格中的元素,並嘗試向其中填充項目。

+0

好的謝謝你。從來沒有與UiBinder合作過 - 希望我能做到。 – kArvee 2013-03-26 14:04:43

+0

哇工作正常,它真的縮短了我的java代碼,使它更清晰,現在它更容易風格我的面板。謝謝! – kArvee 2013-03-28 08:41:11

+0

UiBinder沒有得到應有的注意。想要它,如果你可以upvote - http://stackoverflow.com/questions/15610082/which-google-gwt-product-uses-uibinder – SSR 2013-03-29 07:08:52