2016-04-25 9 views
-1

私は、GUIプログラミングの初心者です。私の頭にはいくつかの質問がありました。私は今MVCパターンを学習しています。クリックで四角形を作成するためのボタンを備えたJFrameの実装がどのように見えるのだろうかと思いました。 私は何をしたいですか:私はフレームとボタンを持っています、ボタンが押され、新しい正方形が画面上にランダムに配置され、フレーム内でそれをドラッグして位置を変えることができ、コンソールに出力があります:Square1をXY(座標)に移動しました。 ボタンをもう一度押すと、新しい四角形が作成されます(Square2)。私がそれをドラッグすると、コンソールは言う:Square2はX Yに移動しました。java MVC、複数のリスナー

私はそれを可能にするために何をすべきですか? 私のモデルは実際に四角形とそのプロパティです。私のビューは実際にはボタン付きのJFrameです。しかし、コントローラを実装する方法がわからないので、異なるオブジェクトのコンソール出力を得ることができます。

ありがとう!

+1

あなたは非常に幅広い質問をしています(実際には複数質問したと思います)。基本的には、各矩形についての情報を保持するモデルが必要です。このモデルでは、各矩形のプロパティを変更する必要があります。長方形を描画し、ユーザーが新しい位置にドラッグできるようにするビューがあります。このとき、モデルを更新する必要があります。次に、ビューとモデルを結合するコントローラが必要になります。ボタンとそれを管理するコントローラーを含む別のビューが必要ですが、実際には同じモデルを使用できます – MadProgrammer

+0

Swingは既にMVCのフォームなので、別のMVCで再度ラップしようとすると問題があります。ビューの原則は、コントローラが動作することができる特定の契約を持っている孤立した要素でしたが、それは私です – MadProgrammer

+0

この[Swing GUI](http://stackoverflow.com/questions/34981403/bufferedimage-not-being-cleared- before-each-rendering/35002727#35002727)は、あなたがしたいものとは異なりますが、モデル/ビュー/コントローラパターンを実装しています。このSwing GUIをSwing GUIの出発点として使用することができます –

答えて

0

迅速な答え:。

"あなたのJavaクラスであなたの主な方法は、お使いのコントローラとして機能することができ ビューはページですが、あなたは代わりに、Swingコンポーネントを使用しているので、この場合は、あなたのビューです。 "

関連する問題