Alf*_*son 1 java swing exception
我一直在我的应用程序中得到这个NPE,我似乎无法摆脱它,因为它没有出现在我的任何源代码中.正如您从堆栈跟踪中看到的那样,我的代码中没有发生这种情况,而是在Swing plaf中.你们有没有遇到过这个问题,也许还能想出这里发生了什么?
11:28:23,273 [AWT-EventQueue-0] ERROR [is.althingi.styran.utlit.styran.StyranImpl]
- uncaughtException
java.lang.NullPointerException
at javax.swing.plaf.basic.BasicTableUI$Handler.setValueIsAdjusting(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
我成功解决了这个问题!
事情是,我添加ListSelectionListener到我的JTable; 在valueChanged我的听众,然后我打电话的方法scrollRectToVisible,然后updateUI,然后导致了我的异常.
我所做的是invokeLater在updateUI电话周围添加,不再有例外!
像这样:
SwingUtilities.invokeLater(new Runnable() {
public void run() {
updateUI();
}
});
Run Code Online (Sandbox Code Playgroud)
既然我对我的问题有"回答"(虽然我不确定我是否仍然理解为什么有invokeLater帮助?),我认为我的问题还不够好.我没有提供足够的有关我的问题的信息,任何人都无法回答这个问题.在我问之前,我是否应该更多地研究这个问题?我不知道.
也许这足以让我提供帮助我的解决方案!
| 归档时间: |
|
| 查看次数: |
2504 次 |
| 最近记录: |