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クラスにWritableRasterオブジェクトを返すgetRastor()というメソッドがないことを示していますが、このメソッドは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 を使用できるかは、展開する構成とプロファイルの組み合わせによって異なります。ただし、どの 1.4 クラスとメンバーがサポートされているかについては、J2ME のドキュメントを参照する必要があります

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 をうまく使用しています。

于 2009-08-05T23:31:57.030 に答える