プログラムをどのように機能させたいかをよりよく理解するために、これまでに得たもののリストを次に示します。
1 ユーザーがオブジェクトを配置する「ホワイトボード」として機能する背景フロア プラン イメージを持つ JPanel。
「ホワイトボード」パネルで選択したオブジェクトのすべてのボタンとコントロール機能を保持する 1 つの JPanel
「ホワイトボード」パネルに配置される画像を含む JLabels のリストを保持する JScrollPanel に配置される 1 つの JPanel
配置できる各タイプの家具アイテムのすべてのプロパティを格納するオブジェクトのクラス。X/Y コード、画像の場所、価格、人件費など
私たちが実現したいことは次のとおりです。
- スクロール リスト パネルの JLabel でユーザーが「マウスを押したままにします」(JLables も何らかの方法で選択可能にする必要があると思います)。
- イベントは JLabel の名前を取ります
- 名前に基づいて項目クラスのオブジェクトをインスタンス化します
- そのオブジェクトを「ホワイトボード」パネルの項目の配列に追加します
- 次に、オブジェクトのプロパティの場所に基づいて、別の画像のコピーを読み込みます
- 次に、その画像をマウスカーソルに添付します
- ユーザーがマウスボタンを押している限り、画像は添付されたままになります
- その後、ユーザーが「ホワイトボード」パネル領域内でマウス ボタンを放すと、オブジェクトの位置をマウス カーソルの座標に設定するイベントがトリガーされます。
- 他の場所でマウスを離すと、カーソルはデフォルトのウィンドウに戻り、JLabel は選択されたままになります
画像をマウスにバインドし、そのコピーがクリックされた場所にホワイトボードに配置するマウス リスナーをセットアップする方が簡単かどうかはわかりません。
これまでに作成された画像へのリンクは次のとおりです: http://img824.imageshack.us/img824/4083/o50p.png
ヒントやアイデアをいただければ幸いです。