gpt4 book ai didi

java - Onclick 中的 NullPointer 异常

转载 作者:行者123 更新时间:2023-11-29 07:55:27 24 4
gpt4 key购买 nike

我在 GWT 中单击按钮时遇到 NullPointer 异常,有人可以建议我如何继续调试问题吗?我已经在此处发布了代码片段。

我有一个在创建时创建电影票的表单,如果用户决定不取消则取消。取消时它成功加载回第一个表单,但父表单按钮在单击时抛出空指针异常。

注意:如果我不加载 createMovie 页面,这些父按钮就可以正常工作。

createMovie.class

public void init( ClickListener listener )
{

// code ...
// ........

cancel.addClickListener( listener );
createMovie.add( header );
createMovie.add( table );
createMovie.setHeight( "663px" );

initWidget( createMovie );

}

在 FocusWidget.class 中

    public void addClickListener(ClickListener listener) {
if (clickListeners == null) {
clickListeners = new ClickListenerCollection();
sinkEvents(Event.ONCLICK);
}
clickListeners.add(listener);
}

// code

@Override
public void onBrowserEvent(Event event) {
switch (DOM.eventGetType(event)) {
case Event.ONCLICK:
if (clickListeners != null) {
clickListeners.fireClick(this); ------->>> LINE 102
}
break;

case Event.ONBLUR:
case Event.ONFOCUS:
if (focusListeners != null) {
focusListeners.fireFocusEvent(this, event);
}
break;

case Event.ONKEYDOWN:
case Event.ONKEYUP:
case Event.ONKEYPRESS:
if (keyboardListeners != null) {
keyboardListeners.fireKeyboardEvent(this, event);
}
break;
}
}

在 ClickListenerCollection.class 中

public void fireClick(Widget sender) {
for (ClickListener listener : this) {
listener.onClick(sender);
}
}

错误:

[ERROR] Uncaught exception escaped
java.lang.NullPointerException: null
at com.google.gwt.user.client.ui.ClickListenerCollection.fireClick(ClickListenerCollection.java:34)
at com.google.gwt.user.client.ui.FocusWidget.onBrowserEvent(FocusWidget.java:102)
at com.google.gwt.user.client.DOM.dispatchEventImpl(DOM.java:1308)
at com.google.gwt.user.client.DOM.dispatchEventAndCatch(DOM.java:1287)
at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1255)
at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)

最佳答案

NullPointerException 意味着您正试图在空对象上运行某些东西。 (好吧,不完全是,但基本上就是这样。)

首先,学习如何阅读堆栈跟踪。这是一项非常重要的技能。基本上,沿着堆栈往下走,直到找到属于您的文件。在本例中,它是 FocusWidget:102。由于我不知道第 102 行是哪一行,所以我只能猜测。

由于您似乎在暗示错误出在该代码片段中,并且 if 语句中的任何内容都不能为 null,因为您正在检查它,所以我猜测参数“listener”不知何故为 null。不过我不确定。如果您能向我们提供导致问题的整个代码块,即第 102 行周围的范围,将会很有帮助。

关于java - Onclick 中的 NullPointer 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071018/

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