gpt4 book ai didi

java - Clickhandler 不触发

转载 作者:行者123 更新时间:2023-12-01 05:03:56 25 4
gpt4 key购买 nike

我在使用 GWT 的项目中遇到 ClickHandler 问题。

在对话框的标题中我想插入一个新按钮。

  1. 我创建了一个新的插入方法:addToTitle(...)
  2. 我将 ClickHandler 添加到按钮

问题:按钮的单击事件未触发。为什么?

这是我的代码:

DialogBox dialog = new DialogBox();

Button button = new Button("A new Button");

button.addClickHandler(new ClickHandler()
{
@Override
public void onClick(ClickEvent event)
{
Window.alert("yuhuhuhu");

}
});

dialog.addToTitle(button);

代码(摘自评论部分):

public class PlentyDialogWindow extends DialogBox { 
private FlowPanel captionPanel = new FlowPanel();
public Widget closeWidget = null;
private boolean closeOnEscKey = false;
private FlowPanel titleContentWrapper = new FlowPanel();
public PlentyDialogWindow(boolean isModal) {
super( false, isModal);
this.addStyleName("DialogBox");
this.getElement().setId("DialogBoxId");
this.setAnimationEnabled(true);
this.closeWidget = generateCloseButton();
}

public void setCaption( String txt,Widget w) {
captionPanel.setWidth("100%");
this.addCaption(txt);
this.titleContentWrapper.getElement().getStyle().setDisplay(Display.INLINE_BLOCK);
captionPanel.add(this.titleContentWrapper);
FlowPanel widgetWrapper = new FlowPanel();
widgetWrapper.add(w);
widgetWrapper.addStyleName("PlentyPopupCloseIconWrapper");
captionPanel.add(widgetWrapper);
captionPanel.addStyleName("Caption");
Element td = getCellElement(0,1);
td.setInnerHTML("");
td.appendChild(captionPanel.getElement());
}

/** * * @param w */ public void addToTitle(Widget w) {
this.titleContentWrapper.add(w);
}
}

最佳答案

如果您唯一的问题是未调用 ClickHandler,请尝试使用 addDOMHandler 而不是 addClickHandler

yourWidget.addDomHandler(new ClickHandler() {

@Override
public void onClick(ClickEvent event) {


}
},ClickEvent.getType());

关于java - Clickhandler 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12971808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com