2009-06-10 10 views
4

SWTプロジェクトでは、サポートされているオペレーティングシステムごとに1つの配布可能なものが現在管理されています。たとえば:SWTはサポートされているオペレーティングシステムで動作するJARを配布しますか?

  • swt-3.4.2-win32-win32-x86.zip
  • swt-3.4.2-gtk-linux-x86.zip
  • swt-3.4.2-carbon-macosx.zip

だけで、正しいこと™行いませ配布は関係なく、アプリケーションが実行されているオペレーティングシステムのありますか?私の知る限り

答えて

9

ありません、ありません、あなたは、スタンドアロンのSWT分布のうちのいずれかのものを作ることはできません。これは、各OS /ウィンドウ・システム/アーキテクチャーの組み合わせがそれぞれのSWTクラスを独自に実装しているためです。たとえば、コードがorg.eclipse.swt.widgets.Buttonを参照している場合、JVMはwin32、Mac/Carbon、またはMac/Cocoaのクラスの実装を望んでいるかどうかを知る方法がありません。

プラットフォーム、アーキテクチャ、ウィンドウシステムを把握したローダークラスを作成し、適切なJARをロードすることで、これを自分で行うことができます。または、春分を使用してアプリケーションを設計すると、自動的に正しいSWTプラグインをロードできます。しかし、あなたは修正されていないSWTディストリビューションのいずれかでそれを行うことはできません。

+0

それは私よりもはるかに詳細な答えです;)+1 – VonC

+0

私はそれが黒い魔法を読み込んでいるクラスに来るのではないかと心配しました。 ;)チップをありがとう。 –

+0

これは役立つコードスニペットです:http://stackoverflow.com/questions/2706222/create-cross-platform-java-swt-application/3204032#3204032 –

関連する問題