2011-02-08 22 views

答えて

3

画像をクリックして他のものよりも上に持ち上げてドラッグした後、ImageIconとこれらの画像をJLabelsに配置して、JLayeredPaneまたは保持されているJPanelに表示することを検討してくださいJLayeredPaneクリックしたラベルをドラッグしながらJLayeredPane.DRAG_LAYERに持ち上げ、完了したらDEFAULT_LAYER(またはDEFAULT_LAYERにあるJPanel)にドロップすることができます。この例については、関連する質問のコードを参照してください。dragging a jlabel around the screen

私が完全に基盤から外れている場合は、申し訳ありませんが、間違った前提を訂正してください。

+1

私は非常に多くの方法を試してみましたが、それらすべてがあまりにも多くのコードであることがわかり、または適切に実装されていませんしています。私が直面した問題は、私の視覚的要素のすべてが別のクラスに分かれているので、私はzオーダーの競合を起こしていたということでした。あなたは大きな頭痛を修正しました。私はContentPane内にJLayeredPaneを作成し、背景をcontentIconの中にimageIconとして配置しましたが、JLayeredPanelの下に配置しました。ありがとうございました+1 – gcoulby

1

ところで「ImageIcon」を使用しています。

これは、イメージをJLabelに追加してから、JPanelにJLabelを追加することを意味します。

ので、私は他のすべての画像

の上に表示されます任意の画像をドラッグする場合は、JLabelのにするMouseListenerを追加する必要があり、たい。ラベルをクリックするとZ-Orderを0にリセットすることができます。これによりラベルが最後に塗りつぶされ、パネルの他のすべてのラベルの上に表示されます。

だから、のMouseListenerでの基本的なコードは次のようになります。

panel.setComponentZOrder(label, 0); 
+0

ありがとうございます... – user600966