2012-04-17 14 views
0

デスクトップJavaアプリケーションの開発を開始したいと思います。私はJavaコミュニティが何を使用しているのか知りたいと思います。デスクトップJavaアプリケーションの代替品

私はSwingで始めましたが、それは非常に初歩的でした。

I

は、私は、Visual Studio 2010と.NETのC#のWPFで動作するように使用されていると私は同じ品質(または近い)は、Javaとで何かを探していた(オプションは、Swing +ウィンドウビルダーではありません)あなたの入力を感謝し、あなたは私のスイングの意見に同意できない場合でも

おかげで、すべての

+0

具体的な機能は何ですか?私は、SwingとAWTが、前回私が使用したときに見たツールキットと同じように感じました。 – sarnold

+0

私はより良い見た目と開発を感じています。ホッピングJavaは何か近くにあった。私はあなたが正しいと思うようにJavaで新しいです。 Swing用のWindow Builderは厄介なパフォーマンス上の問題を抱えています。コントロールをフォームにドラッグするには数秒かかりますが、複雑なウィンドウがあればフォームのコントロールを整理するのは難しいです。 – RollRoll

+0

ああ、それらのGUIデザイナープログラムはJavaの時代には、私が望むレイアウトをコードで宣言するだけで十分でした。これらのGUIデザイナーと一緒に設計されたプログラムは、いつも非常にやわらかいと感じました。だから、あなたが探しているのは合理的なGUIデザイナーですか? – sarnold

答えて

3

もう1つのオプションは、SWTです(このツールキットではEclipseが使用しています)。ほとんどの場合、ネイティブコンポーネントを使用してレンダリングされるため、実際のデスクトップアプリケーションのように堅牢になります。

+0

これはGUIエクスペリエンスを提供しますか?あなたはそれを使用しますか?あなたはそれがスイングとそれより良いと思いますか?感謝 – RollRoll

+1

Javaの世界では、MicrosoftのVisual StudioやXcodeのような他のUIビルダーを模倣しようとする試みが数多く行われています。私の意見では、彼らはすべて失敗しました。 SWTも変わりません。レイアウトマネージャを使用して、手作業でコンポーネントをレイアウトする方がよいでしょう。私の意見では、あなたのアプリの丈夫なネイティブ感を求めているなら、SWTはSwingより優れています。スイングはちょっと不器用で不自然に見えるが、はるかに文書化されたものを使う方がずっと簡単だ。 – mprivat

1

でしょうあなたは、外部依存関係を気にしない場合、あなたはまたSWTを見てみることができます。それは、日食が組み込まれているフレームワークですが、世界で最も使いやすいものではありません。

SWTデザイナー(私が正しく覚えていれば)と呼ばれるGUIビルダーを提供しています。あなたがVisual Studioで慣れているものほど良くはありません。これは質の高いバーです。私がそれを持っている簡単な経験の中で、かなりの量のボイラープレートコードがあり、APIは私が個人的に望むほど直感的ではありません。

しかし、かなり広く使用されています。 Eclipseはそれに基づいて構築されており、拡張機能によって、同じベース(IBMのRationalツールやAdobeのColdFusion Builderなど)から構築された多くの専門ツールもそうです。そうでなければ、ツールの力のアイデアを与えるはずです。

+0

GUIツールをプロビジョニングしますか?それは主にJavaコミュニティで使用されていますか?なぜあなたはそれが簡単ではないと思いますか? – RollRoll

+0

(更新された回答を参照) –

0

IVKMとGtkを使用して、MonoでJavaを実行する方法はありますか? あなたはjavaでプログラムすることができますが、あなたのアプリケーションは実際には.NETコードになります。

あなたはalltogether離れ.NETから移動したい場合は、おそらくあなたは、javaのGtkバインディングを使用することができます。 http://java-gnome.sourceforge.net/

3

私は良く見て、感じて、開発を探しています。..

Swingは、標準として4 PLAFsを提供しています。第三者のPLAFは少なくとも十数種ありますが、数多くの種類のPLAFがあります。その多くの可能性の中で、エンドユーザは一般に「ネイティブ」PLAFを好んでいます。これは、他のすべてのネイティブアプリとほとんど同じように見えます。彼らのマシンに。

小さなアプリが見えます。 PLAFが変更されます。 Nested Layout Exampleにあります。ここにMacがあります。ネイティブPLAF。


..whyは、あなたはそれが容易ではないと思いますか?

これは、(例えば)Visual StudioよりもSwingでGUIを構築するのが難しいという一般的なコメントに関連して言われました。

スイングは、複数のプラットフォーム、画面解像度/サイズ、PLAF(およびその他の要因)で動作することが目的です。したがって、コンポーネントを最終位置にドラッグ&ドロップすることは、上記の要因によって変わる可能性があるため、実際的ではありません。代わりに、Javaはレイアウトマネージャの概念に依存しています。レイアウトマネージャは、実行時に表示されるコンポーネントのサイズと位置を計算します。

レイアウトマネージャは、コンポーネントの「論理グループ化」を使用して、GUIで期待される一般的な形状を実現します。上記のイメージは、レイアウトを組み合わせてGUIのさまざまな部分で異なる効果を実現する方法の例です。

私は、彼らが生産性を向上させることができることを感じていたJava用のGUIビルダーを使用していませんが、それはだけの問題である:すでにJavaのレイアウトが用意されていて、それらをどのように使用するかを知っ

  1. GUIで目的の効果を達成するために、標準レイアウトを組み合わせて使用​​します。
+0

更新プログラムも参照してください。 –