2012-04-14 16 views
1

私はいくつかのパネルでGUIを作成しています。 1つのパネルには、ユーザーがさまざまなパラメーターを入力するためのコンポーネントがあります。 別のパネルには、ユーザ入力を使用して生成されたデータ に基づいてプロットを出力するボタンと場所があります。Java - 入力から出力へのGUIのデータフローの構成

私は様々な作品のすべてを個別に扱っています。私はちょうどそれらを にお話したいと思います。

私は1つのボタンを押すと、私はすべてのユーザーの入力を受け取り、それらを組み合わせて データセットを生成してプロットしたいと思います。 別のボタンを押して、この同じデータをファイルに書き込みます。

すべてのコンポーネントを個別に実装するコードがあります。 にデータを書き込んで、データからプロットを生成するコードがあります。すべて正常に動作します。

私は、Action/ChangeEventを使用してパラメータを取得し、 をArrayListに割り当てることができると考えました。次に、このarraylistを使用してデータを生成します。
私はこれに取り組むためのアプローチを計画するのは難しいと思っています。

現在、私は、配列ハンドラのパラメータレベルを に設定するためにイベントハンドラでsetメソッドを使用していますが、このインスタンスを別のクラスに渡してデータを生成したいのですが、それをアクセス可能にする。

ここに十分な情報を提供していただきたいと思います。もし誰かが の考えを持っていれば、大いに感謝します。

+0

あなた質問はちょっと混乱します。頼むのはばかげているかもしれませんが、arraylistを持っているオブジェクトにゲッターを書き込むことはできませんか? – MarioDS

+0

それは素晴らしい質問です。私は自分の問題の要点だと思っています。 InputPanelクラスのイベントハンドラは、パラメータを設定するためにTestListを呼び出したクラスのsetメソッドを使用します。これを、私たちが 'X'と呼ぶTestListクラスのインスタンスを使って行っています。今、完成したArrayListを返すgetList()メソッドを書きましたが、別のクラスのその特定の(X)インスタンスのgetList()メソッドを呼び出したいと思います。おそらく私はこのアプローチで間違った方向に向いているでしょう。 –

+0

おそらく、TestListには、データを作成するために必要なユーザー入力から取得したパラメーターを保持するArrayListを定義するgetメソッドが含まれています。また、完成したリストを返すgetList()メソッドもあります。 InputPanelクラスはユーザがパラメータを入力するパネルを作成し、TestListクラスのsetメソッドはイベントハンドラでArrayListにパラメータを割り当てるために使用されます。 –

答えて

4

私はあなたの問題に取り組むための構造化された方法を適用することだと思いますMVCパターンここでは、Javaを使ったModel-View-Controller(MVC)についての記事を読んでいます。ロバート・エクスタインによる

Java SE Application Design With MVC、ここ

とはanother sample codeです。

1つのパネルからパラメータを取得し、それを他のパネルに渡す場合は、コマンドパターンを使用できます。パターンが行うことは、基本的にメソッドが実行するために必要なすべての情報(クラスのインスタンス、パラメータなど)を1つのコマンドにカプセル化することです。このコマンドは、アプリケーション内で渡すことができ、メソッドを簡単に実行できます。

私が本当に好きなデザインパターンについての良い本はHead First Design Patternです。

EDIT: 私はMVCと私は役立ついくつかの他のGUIアーキテクチャについて議論し、いくつかのリンクを追加したいと思います:

+1

2つのマイナーポイント。 1)回答を編集することができます。 (コメントを追加する必要はありません)2)リンクの説明とリンクを組み合わせる方が良いと考えられます。例えば。 [Head First Design Patterns](http://shop.oreilly.com/product/9780596007126.do) - これを行うには、メッセージの投稿/編集フォームの上部に小さな「チェーン」アイコンを使用します。 –

+0

ヒントのおかげでアンドリュー!私は新しいので、どんな提案も高く評価されています。 –

+0

あなたは大歓迎です。 :) –

1

これはMVCパターンのアプリケーションの良い場合のように思える: http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

もう一つの良いリソースは、この本の第二章で次のようになります。 http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?ie=UTF8&qid=1334437965&sr=8-1

+0

これに答える時間をとってくれてありがとう。私が目指しているものに名前を付けることで、情報をもっと簡単に探すことができます。 –

+0

心配する必要はありません。あなたの質問への答えとしてフラグを付けることができますか。 – hgrey

関連する問題