2013-12-11 102 views
3

我有一个沉重的GUI应用程序。每次我启动它,我从EventDispatchThread得到下面的堆栈跟踪:调用Window.setVisible()时出现NullPointerException异常

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包...

BTW,应用程序运行正常,无论这种例外,但我想无论如何要解决这个..

是任何人都熟悉这个问题?

+0

你可以发布代码吗?也许你有一个循环(在java.awt.Container.addNotify(Container.java:2576) 在javax.swing.JComponent.addNotify(JComponent.java:4693)) – alepuzio

+0

正如我所说,这是一个沉重的GUI应用程序,包含(只有GUI部分)数十个类。问题是编写第一个类时,我是一个总的java初学者,我可能会做一些糟糕的编程,现在我试图追溯到。所以不行。我想发布整个代码是不可能的... – Elist

+0

我会检查您在GUI中使用的JTableCS,并检查添加侦听器是否有任何问题(如果您有权访问它)。 – dARKpRINCE

回答

1

这个问题有一些东西需要用QTP的Java插件。

因为我已经删除了这个插件,所以没有抛出异常。

0

检查空对象。

例如:

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

尝试

new window.setVisible(true); 
+0

查看窗口完美。它只有在'Window'有一个包含在其中的'com.mercury.ftjadin.support.jfc11.cs.JTableCS'实例时才会发生。 – Elist

+0

好的。请给出显示错误的行。 – rachana

+0

它发生在'frame.setVisible(true);'上。 'frame'的类扩展了'JFrame'。 – Elist

相关问题