问题描述
在某些情况下用于处理从某些webbrowsers(firefox)拖放的单个图像的代码在1.8.0_25中没有出现任何问题
image = (Image) trans.getTransferData("image/x-java-image;class=java.awt.Image");
但现在在1.8.0_45造成了
java.lang.NoSuchMethodError: createImageUsingNativeSize
at sun.lwawt.macosx.CDataTransferer.getImageForByteStream(Native Method)
at sun.lwawt.macosx.CDataTransferer.platformImageBytesToImage(CDataTransferer.java:238)
at sun.awt.datatransfer.DataTransferer.translateBytes(DataTransferer.java:1659)
at sun.lwawt.macosx.CDataTransferer.translateBytes(CDataTransferer.java:142)
at sun.awt.dnd.SunDropTargetContextPeer.getTransferData(SunDropTargetContextPeer.java:269)
at sun.awt.datatransfer.TransferableProxy.getTransferData(TransferableProxy.java:73)
at java.awt.dnd.DropTargetContext$TransferableProxy.getTransferData(DropTargetContext.java:376)
at com.jthink.jaikoz.draganddrop.ImageHandler.createImageCell(ImageHandler.java:30)
这是新版OSX Java中的一个错误,还是我做错了什么,有一个简单的解决方法吗?
保罗
1楼
降级到JDK 1.8.0_31为我解决了这个问题。
我用“.jdk8”调用以下“jdk8”脚本
version=1.8.0_31
export JAVA_HOME=$(/usr/libexec/java_home -v $version)
得到
java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
和错误java.lang.NoSuchMethodError:1.8.0_45中的createImageUsingNativeSize错误消失了
2楼
这个bug最终在JDK1.8.0_66中修复,请参阅