Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调用Window.setVisible()时出现NullPointerException_Java_Swing_Nullpointerexception_Window - Fatal编程技术网

Java 调用Window.setVisible()时出现NullPointerException

Java 调用Window.setVisible()时出现NullPointerException,java,swing,nullpointerexception,window,Java,Swing,Nullpointerexception,Window,我有一个很重的GUI应用程序。每次启动时,我都会从EventDispatchThread获得以下堆栈跟踪: 14:30:04:115 >> java.lang.NullPointerException at com.mercury.ftjadin.support.jfc11.cs.JTableCS$CellEditorListenerRegistrar.addListener(JTableCS.java:151) at com.mercury.ftjadin.infr

我有一个很重的GUI应用程序。每次启动时,我都会从EventDispatchThread获得以下堆栈跟踪:

14:30:04:115 >> java.lang.NullPointerException
    at com.mercury.ftjadin.support.jfc11.cs.JTableCS$CellEditorListenerRegistrar.addListener(JTableCS.java:151)
    at com.mercury.ftjadin.infra.abstr.ObjectCS.registerListeners(ObjectCS.java:2736)
    at com.mercury.ftjadin.infra.DefaultCustomClassManager.onCreate(DefaultCustomClassManager.java:575)
    at com.mercury.ftjadin.hooks.WToolkitHook.onCreate(WToolkitHook.java:23)
    at java.awt.Toolkit.createComponent(Toolkit.java)
    at java.awt.Component.addNotify(Component.java:6650)
    at java.awt.Container.addNotify(Container.java:2565)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at javax.swing.JTable.addNotify(JTable.java:683)
    at java.awt.Container.addNotify(Container.java:2576)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at java.awt.Container.addNotify(Container.java:2576)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at java.awt.Container.addNotify(Container.java:2576)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at java.awt.Container.addNotify(Container.java:2576)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at java.awt.Container.addNotify(Container.java:2576)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at java.awt.Container.addNotify(Container.java:2576)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at java.awt.Container.addNotify(Container.java:2576)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at java.awt.Container.addNotify(Container.java:2576)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at java.awt.Container.addNotify(Container.java:2576)
    at javax.swing.JComponent.addNotify(JComponent.java:4693)
    at javax.swing.JRootPane.addNotify(JRootPane.java:738)
    at java.awt.Container.addNotify(Container.java:2576)
    at java.awt.Window.addNotify(Window.java:664)
    at java.awt.Frame.addNotify(Frame.java:470)
    at java.awt.Window.show(Window.java:860)
    at java.awt.Component.show(Component.java:1591)
    at java.awt.Component.setVisible(Component.java:1543)
    at java.awt.Window.setVisible(Window.java:843)
    at ... my_classes_stack_trace
我试图在java的源代码中调试它,以发现我做错了什么,需要的对象是
null
,但我被卡住了,因为我没有
com.mercury.ftjadin
包的源代码

顺便说一句,不管这个异常,应用程序运行正常,但我还是想解决这个问题


有人熟悉这个问题吗

检查空对象

例如:

if(object!=null)
{
  //enter code here
}
试一试


这个问题与QTP的java插件有关


由于我已删除此插件,因此未引发异常。

您能发布代码吗?也许您在javax.swing.JComponent.addNotify(JComponent.java:4693)有一个循环(在java.awt.Container.addNotify(Container.java:2576)正如我所说的,它是一个很重的GUI应用程序,包含(仅GUI部分)几十个类。问题是,在编写第一个类时,我完全是一个java初学者,我可能会做一些糟糕的编程,我现在正试图追溯到这一点。所以,不。我想发布整个代码是不可能的……我会检查您在GUI中使用的JTableCS,并检查在向其中添加侦听器时是否存在任何问题(以防您可以访问它)。我没有访问JTableCS源代码的权限。jar可以在网络上使用。查看窗口非常有效。只有当
窗口
中包含
com.mercury.ftjadin.support.jfc11.cs.JTableCS
实例时,才会发生这种情况。它发生在
frame.setVisible(true)上
frame
的类扩展了
JFrame
。就像你写的,
类窗口扩展了JFrame{}
?不。它是
类MyFrame扩展了java.swing.JFrame{}
,它反过来扩展了java.awt.frame扩展了java.awt.window
…然后尝试
新建MyFrame.setVisible(true)我对此不确定。
  new window.setVisible(true);