0

我正在尝试在 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 兼容。

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

干杯,

皮特

4

3 回答 3

0

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

是不是方法:

getRaster

不是

getRastor

?

(对不起,如果这不是它让你感到困扰的......)

于 2009-02-26T23:43:23.610 回答
0

由于不受支持,您将无法在 J2ME 中使用 AWT 中的任何内容。

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

您可以在此处查看 J2ME 文档

J2ME 对 GUI 使用不同的方法,您可以使用高级抽象 API (FORMS) 和低级 API (CANVAS)。

于 2009-02-27T00:03:15.950 回答
0

接受的答案不正确(截至 2009 年 8 月 5 日)。您可以使用哪些 API 取决于您部署的配置和配置文件组合。但是,您确实需要参考 J2ME 文档以了解确切支持哪些 1.4 类和成员。

将 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 相当成功。

于 2009-08-05T23:31:57.030 回答