带下拉箭头的GWT文本框

带下拉箭头的GWT文本框,gwt,layout,widget,Gwt,Layout,Widget,我想在文本框中有一个下拉箭头(在我的例子中是SuggestBox)。GMail这样做是为了实现高级搜索功能(打开高级搜索对话框) 要使此箭头显示在文本框的右侧并可单击,正确的GWT布局是什么 查看GMail,我发现下拉列表中有一个非常奇怪的图像。这里有一个简单的例子: 您需要处理css: public class GMailDropDown implements EntryPoint { public void onModuleLoad() { RootPanel.ge

我想在文本框中有一个下拉箭头(在我的例子中是SuggestBox)。GMail这样做是为了实现高级搜索功能(打开高级搜索对话框)

要使此箭头显示在文本框的右侧并可单击,正确的GWT布局是什么


查看GMail,我发现下拉列表中有一个非常奇怪的图像。

这里有一个简单的例子:

您需要处理css:

public class GMailDropDown implements EntryPoint {

    public void onModuleLoad() {
        RootPanel.get().add(new DropDown());
    }

    class DropDown extends Composite 
    implements ClickHandler
    {

        private TextBox textBox = new TextBox();
        private PushButton button;


        public DropDown() {

              Image img = new Image("https://ssl.gstatic.com/ui/v1/zippy/arrow_down.png");

              button = new PushButton(img);

              button.getElement().getStyle().setPaddingLeft(5,  Unit.PX);
              button.getElement().getStyle().setPaddingRight(5,  Unit.PX);
              button.getElement().getStyle().setPaddingTop(3,  Unit.PX);
              button.getElement().getStyle().setPaddingBottom(7,  Unit.PX);

              button.addClickHandler(this);
              button.removeStyleName("gwt-PushButton");

              textBox.getElement().getStyle().setBorderWidth(0, Unit.PX);


              HorizontalPanel panel = new HorizontalPanel();
              panel.add(textBox);
              panel.add(button);

              panel.getElement().getStyle().setBorderWidth(1, Unit.PX);
              panel.getElement().getStyle().setBorderColor("black");
              panel.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);

              // All composites must call initWidget() in their constructors.
              initWidget(panel);
        }


        @Override
        public void onClick(ClickEvent event) {
            // TODO Auto-generated method stub

        }
    }
}
也检查一下这个


看起来很有用,我试试看