2011-06-23 3 views
3

私はjava.awt.Colorを使用するいくつかのコードを持っています。 JavaコードをGWTに翻訳したいと思います。 GWTプロジェクトでjava.awt.Colorをエミュレートします。GWT Javaエミュレーション

1つの方法は、ソースパスがawtで、java.awt.Colorというクラスを持つ java.awt.gwt.xmlというモジュールを作成することです。

もう1つの方法は、 com.google.gwt.emul.java.awt というフォルダを作成し、そのパス内にjava.awt.Colorクラスを作成することです。 Eclipseにエラーが表示されます。コンパイラは動作します。

GWTにjava.awt.Colorを追加する適切な方法はどれですか?

答えて

6

あなたが望むモジュール(おそらく "翻訳可能"にしたいコードのモジュール)にサブフォルダ( 'super')を作成し、モジュールのgwt.xmlにsuper-sourceとして宣言します:

<super-source path="super" /> 

あなたはjava/awt/Color.javaをそこに置きます。

Eclipseのエラーは正常です。* .javaファイルで動作するGWTコンパイルのコードのみ(* .classファイルにjavacによってコンパイルする必要があります)のソースコードではありません。したがって、ビルドパスからsuperサブフォルダを除外したいと考えています。

これだけです!

http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects.html#DevGuideModuleXml

+0

で別ののサブセクションで上書き一つのパッケージの実装は私の最初のアプローチに問題があるも参照してください。最初のアプローチは開発モードでも機能します。 – user706071

+1

唯一の問題は、クラスが(* .classへ)コンパイルされ、クラスパスを混乱させる危険性が高いことです。スーパーソースを使用する方が望ましい方法です。 com.google.gwt.enum.Enumモジュールから再利用することもできますが、独自のモジュールを使用することをお勧めします。そうすれば、クラスパス内にあるだけで自動的にGWTコンパイルには含まれません。モジュールを継承する必要があります。これにより、何が起こる可能性がより明確になります。 –

+0

開発モードに問題があります。 – user706071

関連する問題