1

これは、答えが暗黙的である質問のように思われるため、明示的なものは見つかりません。

Google Web Toolkit は、カスタム レイアウト マネージャーまたは Java レイアウト マネージャーのサブセットのみをサポートしていますか?

たとえば、GroupLayout を使用する Java Swing アプリケーションを GWT で動作させることは可能ですか?

4

4 に答える 4

2

いいえ、GWT は Swing/AWT のレイアウト マネージャーをサポートしていません。これらは互換性がありません。

非互換性の原因は、これらが異なる API を持つまったく異なるテクノロジであることです。Swing/AWT はピクセルベースですが、GWT は HTML にレンダリングします。GWT レイアウトは異なる HTML タグ (div/table/inline 要素など) を出力するだけですが、Swing/AWT レイアウトは子コンポーネントの位置を実際に計算します。GWT では、子の位置は、表示時にブラウザーによって計算されます。

于 2009-04-18T10:37:42.650 に答える
0

Swing Web アプリケーションが必要な場合は、AjaxSwing を検討してください。ただし、ネットワークの待ち時間とサーバー リソースの消費に備えてください。SVG/VML 用のライブラリができ次第、Web に移行するものも増えると思います。JavaScript IDE を見たい場合は、Sun Labs の Lively Kernel をチェックしてください。Swing を GWT に移植しようとした人はいますか? 多くの Swing を GWT に移植できる AjaxSwing があることは明らかなようですが、おそらく Java2D のものはそうではありません。おそらくどこかの賢明な企業が、Swing を Web クライアント技術に変換する方法を見つけ出すでしょう。

于 2009-10-19T05:19:24.417 に答える
0

最も重要な問題は、World Wide Web は、どんなに望んでもデスクトップ アプリケーションではないということです。関連する問題は数多くありますが、次のような問題が頭に浮かびます。

  • WWW はステートレスですが、デスクトップ アプリケーションはそうではありません。WWW は通常、Cookie、URI パラメータ、およびセッション管理によってステートフルにされています。これらを数十年にわたって使用してきた今では、主に WWW のステートフル/ステートレスの問題について検討してきました。

  • WWW ページは (最近では) なんらかの形式の XML と通常は CSS で記述されており、ページはツリーとして記述されています。デスクトップ アプリケーションと比較すると、XML と単純なコンポーネント クラスタリングでほぼ同じことを行う可能性がありますが、同じではありません。繰り返しますが、最大の問題の 1 つは、DA のこれらのコンポーネントでは、ウィジェットは本質的にアプリケーションレベルでステートフルですが、WWW ではページレベルで真にステートフルになることができ、それには JavaScript/AJAX が必要です。

そのため、レイアウト マネージャーを直接使用することはできません。ただし、使用している Web UI フレームワークで許可されていると仮定すると、レイアウト マネージャーと非常によく似た動作をするものを作成できます。特に GWT については知りませんが、JSP (または私のお気に入りのApache Wicket ) で少なくとも単純なレイアウト マネージャーを作成し、Swing レイアウト マネージャーと同じように動作させることができると思います。

ここでレイアウト マネージャーの概念全体を特殊なクラスなどのセットとして再作成することを本当に意味していることに注意してください。Peter Štibraný が答えたように、GWT はそれらを直接サポートしていません (実際、Swing 以外のことは聞いていません)。 ) また、独自の独自の WWW 用のレイアウト マネージャーを作成するだけでなく、Swing レイアウト マネージャー用のラップされた/アダプターを作成する方が、より多くの労力を要すると思います。

于 2009-04-18T11:05:01.290 に答える