3

たとえば、NetBeansで私がしていること:

  • UI コンポーネント クラスを作成し、Swing コンポーネント タイプ (例: JPanel、例: MyUIWidgetJPanel) をサフィックスとして付けます。
  • 動作/ロジックを処理するためのロジック/動作クラスを作成します。つまり、UI コンポーネントが使用されたときに何が起こるか、たとえば、UI コンポーネント内のボタンが押されたときなど、MyUIWidgetLogic

あるコンポーネントの動作/結果が別のコンポーネントに影響/影響を与える場合、たとえば、表示されている一部のオプションが関連性を失ったり、状況に応じたオプションを提供したりする場合は、参照を使用してコンポーネント/ロジックをリンクすることもあります。

これについてどう思いますか?良い?悪い?

職業はなんですか?

4

4 に答える 4

5

私はプレゼンテーション モデル パターンを使用する傾向があります。

UIクラスとは別に、ロジックを含むクラスを作成します。UI クラスにはロジックを含めないでください。インターフェイスを表示するために必要なコードのみを含めます。

次に、 JGoodies Bindingなどを使用して、フロントエンドの値をバックエンドのプレゼンテーション モデル クラスにバインドできます(Spring RCP がこれにもかなり適していることは理解しています)。

于 2010-02-08T09:52:41.207 に答える
4

この記事「カスタムスイングコンポーネントの書き方」は、UIデリゲート配管の例として役立ちます。

ChetHaaseとRomainGuyによる不潔なリッチクライアントは、視覚的にリッチなクライアントアプリケーションのヒントとして広く推奨されています。

于 2010-02-08T16:06:36.430 に答える
2

Swing コンポーネントは、イベント ディスパッチ スレッドを介してイベントを使用して通信するため、通常、関心のある要素 (JButton など) に ActionListener 実装を提供します。ロジックを含むのはこれらの ActionListener 実装ですが、スレッド化を使用しない場合、UI 要素 (JButton など) は、ActionListener が計算を行って制御を保持している間、応答しないことに注意してください。

于 2010-02-08T09:54:46.310 に答える
1

あなたが説明しているのは、MVC (Model View Controller) と呼ばれるデザイン パターンです。議論の余地はありませんが、GUI で関心を分離する最も一般的な方法です。また、同じデータ (モデル) の複数の表現 (ビュー) がある場合、データが変更されたときにすべての表現 (ビュー) が確実に更新されるようにします。MVC のコントローラー部分は、ユーザー インターフェイスにどの部分を有効にする必要があるかを伝えます (とりわけ)。

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93コントローラ

于 2010-02-08T09:53:09.450 に答える