我正在尝试在AWT中使用BufferedImage类。我在IBM的J9虚拟机上使用J2ME。
当我尝试调用BufferedImge.getRastor()方法时,我得到以下异常:
Exception in thread "main" java.lang.NoSuchMethodError: java/awt/image/BufferedImage.getRastor()Ljava/awt/image/WritableRaster;
现在,根据我对JVM的了解,该错误基本上告诉我BufferedImage类没有一个名为getRastor()的方法,它返回一个WritableRaster对象,但是这个方法在API中有记录,它来自1.4版本.2所以应该与J2ME兼容。
我不知道这里发生了什么,你能帮忙吗?
干杯,
皮特
答案 0 :(得分:0)
我认为这不是你的答案......但是既然你引用了你的例外而我认为你剪切并粘贴它,我会尽力帮助。
不是方法:
getRaster
不
getRastor
(对不起,如果这不是什么困扰你...)
答案 1 :(得分:0)
由于不支持AWT,因此无法在J2ME中使用AWT。
这是因为J2ME没有AWT。 AWT旨在用于桌面应用程序(Java SE),具有不同的用户模型和功能。
您可以查看J2ME docs here
J2ME使用与GUI不同的方法,您可以使用高级抽象API(FORMS)和低级API(CANVAS)。
答案 2 :(得分:0)
接受的答案不正确(截至2009-08-05)。您可以使用哪种API取决于您部署的配置和配置文件组合。但是,您做需要参考J2ME文档,以确切支持哪些类和成员。
将CDC 1.0与Personal Profile 1.1一起使用,您将获得Java SE 1.4的简化版本。 Personal Profile 1.0是一个简化的Java SE 1.3。两者都有一个相当完整的AWT实现(不过没有Swing)。
我们实际上非常成功地在手持设备/ PDA设备上使用J9的CDC / PP。