1

私はMVCを使用してGUIプログラムを作成しています。これは次のようになり ます。alttexthttp://img137.imageshack.us/img137/6422/93381955.jpg

WindowクラスとPanelクラスを作成しました。PanelクラスにInputタブとDisplayタブを作成してから、さらに2つのクラスInputPanelとDisplayPanelを作成することを考えています。したがって、InputPanelには、この画像の[入力]タブの下にあるものが含まれ、[表示]タブについても同じです。これを設計するためのより良い方法はありますか?

また、[入力]タブには3つのセクション(名前と文、犯罪、ボタン)があるので、3つのパネルを作成する必要がありますか、それともそれらすべてを含む1つのパネルだけを作成する必要がありますか?

ありがとう

4

3 に答える 3

2

1つではなく3つのパネルを使用することについての具体的な質問に答えるために、2つをお勧めします。単一のウィジェットを作成するためだけにパネルを作成する必要はめったにありません。つまり、名前と文用のウィジェットが1つ、犯罪用のウィジェットが1つあります。

「これをデザインするためのより良い方法はありますか?」という質問については...あなたは学んでいるように思われるので、それを行うための完璧な方法にあまり焦点を当てないことをお勧めします。元のデザインに固執し、タスクが完了した後、何が機能したか*、何が機能しなかったかを自問してください。その情報を使用して、自分が行ったことが正しい設計であったかどうかを自分で判断できます。

GUIコードを設計するとき、通常は「最良」ではありません。問題を解決する方法はたくさんあります。あなたが説明したことは、問題を攻撃するための完全に良い方法のように聞こえます

(*)この文脈で「機能した」とは、コーディングが簡単だったことを意味しますか?希望のレイアウトを実現できましたか?たとえば、GUIを再編成する必要が生じた場合に、コードを長期にわたって保守可能にしますか?

于 2009-10-19T11:09:19.843 に答える
1

ブライアンは良いアドバイスをしました。経験はそこに役立ちますが、人間工学は正確な科学ではないことを付け加えておきます。
タブはいいです、例えば。設定を分離したり、同じパネル(ツールボックスなど)に異なるツールセット(レイヤー、色、ブラシなど)をグループ化したりします。
ただし、すべてのワークフローに適合しているとは限りません。ただし、[表示]タブの役割に関する情報が不足しています。すべての犯罪を表に記載することになっていますか?テーブルがある場合、それをコントロールの下に置くことはできませんか?

ブライアンが示唆しているように、実際のユーザーと同じように、GUIを設計してからテストすることをお勧めします。ワークフローはわかりやすいと思いますか?(他の人にテストしてもらいましょう!)使用法は自然に感じますか?使用は速いですか?
次に、これらの観察結果に照らして設計を調整できます。

于 2009-10-19T11:21:05.200 に答える
1

InputPanelとDisplayPanelを別々のクラスとして作成するのは正しいことでした。

それらのパネルをさらに分割することについては?はい、それらをさらに分割する必要がありますが、別々のクラスに分割しないでください。InputPanelとDisplayPanel内にjPanelを追加し、それらの内部jPanel内でコントロールをグループ化する必要があります。

私が何を意味するのかを明確にしてほしい場合は、私に知らせてください。

于 2009-10-19T11:21:12.703 に答える