如何在超链接中嵌入GWT小部件?
我需要实现以下方法:如何在超链接中嵌入GWT小部件?,gwt,hyperlink,Gwt,Hyperlink,我需要实现以下方法: public static Widget embedInHyperlink(String href, Widget content); 该方法需要创建一个小部件,该小部件在网站上呈现为 内容可以是包含图像、文本和其他小部件的复杂小部件 我的第一个解决方案是创建一个FocusPanel并添加一个ClickHandler,但是用户不能[Ctrl]-单击小部件在新的浏览器选项卡中打开它。当“我的内容”小部件未嵌入超链接时,右键单击并“在新选项卡中打开”或“另存为…”也是不可能的
public static Widget embedInHyperlink(String href, Widget content);
该方法需要创建一个小部件,该小部件在网站上呈现为
内容可以是包含图像、文本和其他小部件的复杂小部件
我的第一个解决方案是创建一个
FocusPanel
并添加一个ClickHandler
,但是用户不能[Ctrl]-单击小部件在新的浏览器选项卡中打开它。当“我的内容”小部件未嵌入超链接时,右键单击并“在新选项卡中打开”或“另存为…”也是不可能的。您可以使用或扩展小部件来构造元素。如果您可以避免使用子窗口小部件,您会更好,因为当使用href包装窗口小部件时,通常不会对其进行全面测试以确保其正常工作。如果您必须使用子窗口小部件,您可以使用a来代替。我不明白。HTMLPanel如何帮助我围绕现有小部件创建超链接?将包含具有唯一ID的超链接的html片段传递给HTMLPanel构造函数,然后使用add(widget,ID)方法附加小部件。我认为这里已经回答了这个问题:具体看基于锚的答案
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);
}
}