我正在尝试使用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兼容。
我不知道这是怎么回事,你能帮忙吗?
干杯,
皮特
发布于 2009-02-27 00:03:16
你将不能在J2ME中使用AWT中的任何东西,因为它不受支持。
这是因为J2ME没有AWT。AWT旨在用于桌面应用程序(Java SE),具有不同的用户模型和功能。
您可以查看J2ME文档here
J2ME对GUI使用不同的方法,您可以使用高级抽象应用程序接口(表单)和低级应用程序接口(CANVAS)。
发布于 2009-02-26 23:43:24
我不认为这是你的答案。但是既然你引用了你的异常,我假设你已经剪切并粘贴了它,我将尝试帮助你。
不是方法:
getRaster不
getRastor(很抱歉,如果这不是它困扰您的原因…)
发布于 2009-08-05 23:31:57
接受的答案不正确(截至2009-08-05)。具体有哪些API可用取决于您部署的配置和配置文件组合。但是,您确实需要参考J2ME文档,以确切了解支持哪些1.4类和成员。
使用带有Personal Profile 1.1的CDC 1.0,您将获得Java SE 1.4的精简版本。Personal Profile 1.0是一个精简版的Java SE 1.3。两者都有一个相当完整的AWT实现(不过没有Swing )。
我们实际上在手持/PDA设备上成功地使用了J9的CDC/PP。
https://stackoverflow.com/questions/592907
复制相似问题