Java 使用GWT小部件调整中间的按钮
我正在制作一个GWT web应用程序。下面是使用添加到面板中的GWT按钮小部件制作的back和next按钮。我想把这些按钮显示在右上角,然后在极左,或者中间的这两个按钮上。请帮我把它对齐。多谢各位 下面是我的mobile View Java代码,其中包括这些按钮 Java代码:Java 使用GWT小部件调整中间的按钮,java,html,gwt,smartgwt,uibinder,Java,Html,Gwt,Smartgwt,Uibinder,我正在制作一个GWT web应用程序。下面是使用添加到面板中的GWT按钮小部件制作的back和next按钮。我想把这些按钮显示在右上角,然后在极左,或者中间的这两个按钮上。请帮我把它对齐。多谢各位 下面是我的mobile View Java代码,其中包括这些按钮 Java代码: package com.zrsol.cricsite.client.view.widget; import com.google.gwt.user.client.ui.Button; import com.google
package com.zrsol.cricsite.client.view.widget;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.googlecode.mgwt.ui.client.widget.panel.flex.FlexPanel;
import com.zrsol.cricsite.client.view.TeamConstants;
public class TopBatsmenView extends Composite{
private VerticalPanel vpnlBatsmenList = new VerticalPanel();
private Button btnNext = new Button("Next");
private Button btnBack = new Button("Back");
private HorizontalPanel hpnlPagerBatsmen = new HorizontalPanel();
public TopBatsmenView(){
FlexPanel fpnlBatsmenList = new FlexPanel();
// initWidget(vpnlBatsmenList);
initWidget(fpnlBatsmenList);
Label lblBatsmenHeading = new Label(TeamConstants.TOPBATSMENHEADING);
lblBatsmenHeading.setStyleName("bgBlack");
fpnlBatsmenList.add(lblBatsmenHeading);
fpnlBatsmenList.add(vpnlBatsmenList);
hpnlPagerBatsmen.add(btnBack);
hpnlPagerBatsmen.add(btnNext);
hpnlPagerBatsmen.setWidth("100%");
btnNext.setWidth("40%");
btnBack.setWidth("40%");
hpnlPagerBatsmen.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER);
// hpnlPagerBatsmen.setSpacing(2);
fpnlBatsmenList.add(hpnlPagerBatsmen);
}
public Button getBtnNext() {
return btnNext;
}
public void setBtnNext(Button btnNext) {
this.btnNext = btnNext;
}
public Button getBtnBack() {
return btnBack;
}
public void setBtnBack(Button btnBack) {
this.btnBack = btnBack;
}
public VerticalPanel getVpnlBatsmenList() {
return vpnlBatsmenList;
}
public void setVpnlBatsmenList(VerticalPanel vpnlBatsmenList) {
this.vpnlBatsmenList = vpnlBatsmenList;
}
public HorizontalPanel getHpnlPagerBatsmen() {
return hpnlPagerBatsmen;
}
public void setHpnlPagerBatsmen(HorizontalPanel hpnlPagerBatsmen) {
this.hpnlPagerBatsmen = hpnlPagerBatsmen;
}
}
你可以试着打电话
hpnlPagerBatsmen.setHorizontalAlignment(HorizontalPanel.Alignment_CENTER)代码>
在添加按钮或使用
hpnlPagerBatsmen.setCellHorizontalAlignment(bntBack,HasHorizontalAlignment.ALIGN_CENTER);hpnlPagerBatsmen.setCellHorizontalAlignment(bntNext,HasHorizontalAlignment.Alignment_CENTER)代码>
在你添加按钮之后
希望这会有所帮助。没有必要混合MGWT布局模型(基于flex box模型)和GWT布局面板,因为您将失去flex box模型的所有优点
使您的寻呼机成为FlexPanel:
FlexPanel pager = new FlexPanel();
pager.setOrientation(Orientation.HORIZONTAL);
pager.setFlex(0);
pager.add(btnBack);
pager.add(new FlexSpacer());
pager.add(btnNext);
就是这样——你的布局没有表格、百分比等,而且非常流畅——它可以在所有屏幕上运行
注意:不要在中心区域使用垂直面板,而应该使用另一个FlexPanel-它将占用所有可用空间。此外,您不需要扩展复合-而是扩展FlexPanel(或RootFlexPanel)