gwt - 将 ClickHandler 添加到包含许多其他小部件的 div

标签 gwt uibinder

看来Panel没有继承自HasClickHandlers,我无法向DivElement添加clickHandler。有什么方法可以将 clickHandler 添加到 DIV 中吗?

编辑:我无法使用标签的原因是我想要可点击的 DIV 包含其他 DIV。

最佳答案

默认情况下,Panel 不会“接收”onCLick 事件。也就是说,单击面板实际上不会导致“ClickEvent”,因此不会触发处理程序。要将点击事件与Panel(或任何其他Widget)一起使用,您必须首先使用适当的事件位对其调用sinkEvents()。

例如:

SimplePanel p = new SimplePanel();
    p.sinkEvents(Event.ONCLICK);
    p.setTitle("Click me");
    p.setSize("600px", "600px");
    p.addHandler(new ClickHandler(){

        @Override
        public void onClick(ClickEvent event) {

            Window.alert("SimplePanel clicked!");

        }

    }, ClickEvent.getType());

上面的代码首先使用p.sinkEvents(Event.ONCLICK);为SimplePanel“启用”点击事件,然后继续向其添加标准ClickHandler。请注意,即使 SimplePanel 没有实现 HasClickHandlers,您始终可以使用 addHandler() 方法添加处理程序。

关于gwt - 将 ClickHandler 添加到包含许多其他小部件的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4303320/

相关文章:

java gwt画水平线

gwt - SmartGWT 与 UIBinder

css - 难以在 GWT java 应用程序中制作单独的布局

java - GWT 在单击异常时不显示根调用跟踪

java - 注销后用户也正在执行操作,我必须编写什么代码来防止注销用户?

css - 如何通过 GWT 编译保留 css 类名?

css - GWT UiBinder 样式主名称不起作用

java - GWT UiBinder CSS 样式

html - 使用 cssResource 设计 gwt 超链接

java - 无法将 GWT 插件安装到 Eclipse