Java AWT-使用J2ME和J9时的BuffereImage问题

Java AWT-使用J2ME和J9时的BuffereImage问题,java,exception,awt,Java,Exception,Awt,我正在尝试在AWT中使用BuffereImage类。我正在IBM的J9虚拟机上使用J2ME 当我尝试调用BufferedImge.getRastor()方法时,会出现以下异常: Exception in thread "main" java.lang.NoSuchMethodError: java/awt/image/BufferedImage.getRastor()Ljava/awt/image/WritableRaster; 现在,从我对JVM的了解来看,这个错误基本上告诉我Buffere

我正在尝试在AWT中使用BuffereImage类。我正在IBM的J9虚拟机上使用J2ME

当我尝试调用BufferedImge.getRastor()方法时,会出现以下异常:

Exception in thread "main" java.lang.NoSuchMethodError: java/awt/image/BufferedImage.getRastor()Ljava/awt/image/WritableRaster;
现在,从我对JVM的了解来看,这个错误基本上告诉我BuffereImage类没有一个名为getRastor()的方法返回一个WritableRaster对象,但是这个方法在API中有文档记录,它来自版本1.4.2,因此应该与J2ME兼容

我不知道这里发生了什么,你能帮忙吗

干杯


皮特

我认为这不是你的答案。。。但既然你引用了你的例外,我想你是剪切粘贴了它,我会尽力帮助你的

方法不是:

getRaster
不是

?


(很抱歉,如果这不是您的问题所在……

您将无法在J2ME中使用AWT中的任何内容,因为它不受支持

这是因为J2ME没有AWT。AWT用于桌面应用程序(JavaSE),具有不同的用户模型和功能

您可以看看J2ME文档


J2ME在GUI方面使用了不同的方法,您可以使用高级抽象API(表单)和低级API(画布)。

公认的答案不正确(截至2009-08-05)。具体使用哪种API取决于您部署的配置和概要文件组合。但是,您确实需要参考J2ME文档,了解哪些1.4类和成员受到支持

将CDC1.0与Personal Profile 1.1结合使用,您可以获得JavaSE1.4的精简版。PersonalProfile1.0是一个精简版JavaSE1.3。两者都有相当完整的AWT实现(不过没有Swing)


实际上,我们在掌上/PDA设备上使用J9的CDC/PP非常成功。

对不起,我从运行代码的PDA上复制了错误消息(很糟糕!)。我已经检查了两次,我确实调用了.getRaster()(所以这不是问题所在),这非常令人困惑-我可以成功地执行使用java.awt.Image和java.awt.Frame(以及更多!)的代码,那么为什么支持它们而不支持BuffereImage呢?可能是因为您的IDE在类路径上有JavaSE。我不确定。:/你在用什么?太阳的无线工具包?还是一些专有的工具包?您能在实际设备上成功运行此代码吗?
getRastor