如何在超链接中嵌入GWT小部件?

时间:2015-01-26 14:01:13

标签: gwt hyperlink

我需要实现以下方法:

public static Widget embedInHyperlink(String href, Widget content);

该方法需要创建一个小部件,在网站上呈现为<a href="...">[content]</a>

内容可以是一个复杂的小部件,其中包含图像文本和其他小部件。

我的第一个解决方案是创建FocusPanel并添加ClickHandler,但是用户无法[Ctrl] - 单击小部件以在新的浏览器标签中打开它。当我的内容窗口小部件未嵌入超链接时,右键单击和“在新标签页中打开”或“另存为...”也是不可能的。

2 个答案:

答案 0 :(得分:0)

您可以使用或扩展HTML窗口小部件来构建元素。如果您可以避免使用子窗口小部件,那么您将会感觉更好,因为在使用href包装时,窗口小部件通常未经过彻底测试才能正常工作。如果您必须使用子窗口小部件,则可以改为使用HTMLPanel

答案 1 :(得分:0)

public class AnchorPanel extends SimplePanel {

    public AnchorPanel(IsWidget content, String href, String target) {
        super(DOM.createAnchor());
        getElement().setAttribute("href", href);
        getElement().setAttribute("target", target);
        add(content);
    }

}