0

ユーザーがボタンをクリックすると、オブジェクト作成のための情報を収集するためのさまざまなjframeが開始されるプログラムでGUIを設計する最良の方法は何ですか? OOP の原則と一致するには?

たとえば、ユーザーは、起動時にオブジェクトのリストとオブジェクトに関する情報を含むMainFrameを確認します。ユーザーが新しいオブジェクトを追加する必要がある場合は、[新しいオブジェクトの作成] ボタンをクリックする必要があります。ボタンをクリックすると、オブジェクト (Building) の作成に必要なフィールドを含む別の jframe が開始されます。しかし、このオブジェクトは複雑で、その中に別のオブジェクトを保持しています -ボックス(ボックスを追加するには、addBoxButton をクリックし、ボックスを作成するためのフィールドで発生する新しいフレーム)。
別のオブジェクトを含むボックス - Commutator。再び Commutator ユーザーを作成するには、別のボタンを押して、フレームに入力されたユーザー データで新しいフレームを作成する commutator を生成します。次に、Commutator を Building ではなく Box と Box に配置する必要があります。

現在 - フレーム クラス間の情報交換で問題が発生しています。たとえば、これらのフレームの 1 つが実行時に作成された場合、ある jframe から収集した情報を別の jframe に転送するにはどうすればよいですか?

私の質問は - 私の GUI は悪い設計の GUI の例ですか? JFrame を拡張する 1 つのクラスにすべての GUI を配置する方がよいでしょうか?

4

2 に答える 2

1

GUI 設計の典型的なアプローチは、モデルがデータの保存と操作を担当する MVC (Model-View-Controller) パターンを使用することです。ビューはデータを表示し、コントローラーもこれらの間を接続します。このパターンを詳しく説明しているチュートリアルはたくさんあります。それらのいくつかを読んでください。あなたの質問に対する答えが見つかると信じています。

一般に、データはモデルに入れる必要があり、ビューは必要な数の JFrame を担当します。

于 2012-08-12T12:49:27.587 に答える
1
  1. このように GUI を混同しないでください...

  2. Swing 自体は MVC の原則に基づいているため、PLAF (Pluggable Look and Feel) と呼ばれています。同じモデルを維持しながら、ビューを変更できます。

  3. MVC の原則を念頭に置いてプログラムを作成してみてください。

    MODEL - ビジネス ロジックとデータを扱う

    VIEW - 出力の表現

    CONTROLLER - アクションが実行される場所。

  4. モデルとビュー用に個別のパッケージを作成します。

    例えば:

    com.app.view;     // This stores all of your GUI stuffs
    
    com.app.mode;     // This stores your Business Logic and the Data
    
于 2012-08-12T12:58:24.200 に答える