我们的applet源代码有点像意大利面条(写于2000年,然后是Java 1.3),我们想将其重新编译为Java 1.6或1.7。

当我对其进行测试时,大多数Swing都可以,但是一段时间之后,发生了Exception,这是EDT异常。具体而言,完成拖动事件后,将出现一系列EDT异常。

ActionListeners中对I / O部分进行编码是否有用,因为我已经知道在动作侦听器中对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)

最佳答案

我想这与Java插件的版本有关。
在Java 1.6_10中,此插件的新版本已发布,我只是禁用了控制面板中Java中的选项
高级-> Java插件->启用下一代Java插件

当我禁用此功能时,不再显示此重复错误且没有明显的行为。

我想这也与我们在Java 1.3时代编写的代码有关。

10-07 19:12
查看更多