0

我们的小程序源代码有点像意大利面条(写于 2000 年,当时是 Java 1.3),我们希望将其重新编译为 Java 1.6 或 1.7。

当我测试它时,大部分 Swing 都可以,但过了一段时间,Exception发生了一个 EDT 异常。具体来说,当拖动事件完成时,会出现一系列 EDT 异常。

这是否与对 I/O 部分进行编码有关,ActionListeners因为我已经读过在动作侦听器中编写 I/O 操作是不好的,EDT 在执行动作时执行。

编辑:

这是反复出现的异常

Exception in thread "AWT-EventQueue-3" java.lang.NullPointerException
    at javax.swing.BufferStrategyPaintManager.flushAccumulatedRegion(Unknown Source)
    at javax.swing.BufferStrategyPaintManager.copyArea(Unknown Source)
    at javax.swing.RepaintManager.copyArea(Unknown Source)
    at javax.swing.JViewport.blitDoubleBuffered(Unknown Source)
    at javax.swing.JViewport.windowBlitPaint(Unknown Source)
    at javax.swing.JViewport.setViewPosition(Unknown Source)
    at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.vsbStateChanged(Unknown Source)
    at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(Unknown Source)
    at javax.swing.DefaultBoundedRangeModel.fireStateChanged(Unknown Source)
    at javax.swing.DefaultBoundedRangeModel.setRangeProperties(Unknown Source)
    at javax.swing.DefaultBoundedRangeModel.setValue(Unknown Source)
    at javax.swing.JScrollBar.setValue(Unknown Source)
    at javax.swing.plaf.basic.BasicScrollBarUI$TrackListener.setValueFrom(Unknown Source)
    at javax.swing.plaf.basic.BasicScrollBarUI$TrackListener.mouseDragged(Unknown Source)
    at java.awt.Component.processMouseMotionEvent(Unknown Source)
    at javax.swing.JComponent.processMouseMotionEvent(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.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(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)
4

1 回答 1

1

I guess it has something to do with the version of java plugin. In java 1.6_10, a new version of this plugin is release, i just disabled the option in java found in control panel Advance->Java Plug In ->Enable the next generation Java Plug in

When i disable this, this recurring error with no distinct behavior no longer appears.

I guess also it has something to do with our code written in the days of Java 1.3.

于 2012-12-14T06:19:11.980 回答