如何在GWT TextBox小部件中添加图像或图标?

时间:2011-09-14 17:19:00

标签: gwt

有没有办法在GWT TextBox小部件中添加图像或图标?

编辑:图片需要有一个ClickHandler。

2 个答案:

答案 0 :(得分:3)

如果您只对可视化添加图标感兴趣,可以使用css添加它,例如:

background-image:url('icon.png');
background-repeat:no-repeat;

更新:

如果您需要向图像添加事件,可以在@Sandro Munda的答案中将图像和文本框绑定在水平面板中。另一种方法是使用绝对面板和css使图像和文本框重叠:

public class TextBoxWithImage extends Composite {
    public TextBoxWithImage() {
        AbsolutePanel p = new AbsolutePanel();
        p.add(new TextBox());       
        Image image = new Image("images/down.png");
        image.getElement().getStyle().setMarginLeft(-20, Unit.PX);
        p.add(image);       
        image.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                Window.alert("Clicked!");
            }
        });
        initWidget(p);
    }
}

答案 1 :(得分:1)

不直接。

您可以扩展Horizo​​ntalPanel并像ValueSpinner类一样创建新的小部件(来自Gwt Mosaic项目)。

ValueSpinner.java

如您所见,ValueSpinner将一个TextBox和一个Image连接到Horizo​​ntalPanel中以创建小部件。

相关问题