2011-10-26 15 views
2

プロジェクト用にJava APIを使用する必要がありますが、私はJava UIのファンではなくMacを所有しているため、Javaコードの周りにネイティブのCocoaアプリケーションを構築したいと考えています。私はこの種のものを直接サポートするためにXcodeが使用されていたことを知っていますが、これはもはや機能しないので、これを行う最良の方法は何ですか? Mac OS 10.6.8ではXcode 3.2.5があります。Cocoa UIを使用してJavaアプリケーションを作成するにはどうすればよいですか?

+0

唯一のことは、JavaコードでJNIを使​​用してCocoa/Carbonコードと話すことです。 – seand

答えて

0

このApple tech noteによれば、ネイティブMacアプリケーション内からJVMを起動することが可能です。この記事はもともとは2006年に書かれたもので、AppleのJavaのサポートにより、その後多くの変更がありました。しかし、今年は記事が更新されたように見えるので、OSの現行バージョンではまだサポートされていますか?私はそれを保証することはできませんが、試してみる価値があるようです。

+0

JVMはC++で書かれており、linux、windows、mac osのためにコンパイルする必要があることを考慮すると、そこには特別なことはありません。しかし、同じプロセスでGUIを使う必要はありません(少しシンプルになります)。そこにはネイティブウィジェットがあります。 – Voo

+0

私は現在同じことを考えており、質問したいと思います:それは機能しましたか? –

+0

これは本当です!たとえばIntelliJは、JVMを初期化したネイティブmacOSランチャーを使用しています! –

1

XCodeを使用することが可能かどうかはわかりません。ただし、ネイティブウィジェットを使用するSWTを使用してGUIを作成することは可能です。

しかし、私は実際にJavaでGUIアプリケーションを行っていないので、SWTを使用するGUIデザイナーがいるかどうかはわかりませんが、WindowBuilder Pro for Eclipseが表示されます。

+0

WindowBuilderは実際にはJava用のGUIビルダーとしては最高のものです。 – Voo

+0

ええ、でもそれはJavaベースのGUIです。私はSWTやSwingなど何かを混乱させることなく、ネイティブGUIからJavaコードを呼びたいと思っています。それは可能ですか? – Frungi

0

ほとんどすべてのCocoa APIをrococoaで呼び出すことはできますが、必ずしも高速であるとは限りません。

3

このJava-Objective-C bridgeで任意のCocoa APIを使用できます。 Rococoaと違って、Javaクラススタブの全部を生成する必要はありません。これはObjective-Cランタイム上の小さな動的ラッパーで、メッセージをCocoaオブジェクトに送信することができます。

+1

自分の商品を宣伝する場合は、答えに免責を含める必要があります。 – andrewsi

関連する問題