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

发布于 2024-12-04 11:37:15 字数 87 浏览 1 评论 0原文

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

编辑:图像需要有 ClickHandler。

Is there a way to add image or icon inside a GWT TextBox widget?

EDIT: The image is required to have a ClickHandler.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月下伊人醉 2024-12-11 11:37:15

如果您只对视觉上添加图标感兴趣,您可以使用 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);
    }
}

If you are only interested in visually adding an icon , you can add it using css such as :

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

UPDATE :

If you need to add events to image, you can bind an image and a textbox in a horizontal panel as in @Sandro Munda's answer. Also another method is to use an absolute panel and css to make the image and the textbox overlap as such :

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);
    }
}
生寂 2024-12-11 11:37:15

不直接。

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

ValueSpinner.java

如您所见,ValueSpinner 将一个 TextBox 和一个 Horizo​​ntalPanel 内的图像连接起来以创建小部件。

Not directly.

You can extend an HorizontalPanel and create your new widget like the ValueSpinner class does (from the Gwt Mosaic project).

ValueSpinner.java

As you can see, the ValueSpinner joins a TextBox and an Image inside a HorizontalPanel to create the widget.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文