有没有办法在GWT TextBox小部件中添加图像或图标?
编辑:图片需要有一个ClickHandler。
答案 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)
不直接。
您可以扩展HorizontalPanel并像ValueSpinner类一样创建新的小部件(来自Gwt Mosaic项目)。
如您所见,ValueSpinner将一个TextBox和一个Image连接到HorizontalPanel中以创建小部件。