【问题标题】:How to embed a GWT widget in a hyperlink?如何在超链接中嵌入 GWT 小部件?
【发布时间】:2015-01-26 14:01:13
【问题描述】:

我需要实现以下方法:

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

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

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

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

【问题讨论】:

标签: gwt hyperlink


【解决方案1】:

您可以使用或扩展HTML 小部件来构造您的元素。如果您可以避免使用子小部件,您会做得更好,因为小部件通常没有经过彻底测试以在使用 href 包装时正常工作。如果您必须使用子小部件,您可以改用HTMLPanel

【讨论】:

  • 我不明白。 HTMLPanel 如何帮助我围绕现有小部件创建超链接?
  • 将包含具有唯一 ID 的超链接的 html sn-p 传递给 HtmlPanel 构造函数,然后使用 add(widget,id) 方法附加您的小部件。
【解决方案2】:
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);
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-04
    • 2011-05-12
    • 2017-09-20
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多