-1

そこで、NetBeans の GUI ビルダーを使用して小さな Java プログラムを作成しています。画面には大量のラベル (たまたまアイコン) があり、それらがまったく同じ場所に送信されることがあります。最後に送信されたラベルが実際にラベルの山の上に表示されるようにするにはどうすればよいですか? 同様に、mousepress イベントが下のラベルの 1 つではなく、その上のラベルから発生することを確認しますか?

これは、Java を学習して 3 日目のようなものなので、ばかげた質問だったらすみません :D

4

2 に答える 2

2

setLayout でCardLayoutを使用します。これにより、物を積み重ねることができます。


JLabel を配置する CardLayout のすべての「カード」に JPanel を使用しているとします。次に、JPanel を透明にする必要があります。

jPanel.setOpaque(false);

JLabel自体はすでに透過的だと思います。

于 2013-05-14T16:14:07.293 に答える
1

最後に送信されたラベルが実際にラベルの山の上に表示されるようにするにはどうすればよいですか?

ラベルの ZOrder をゼロに設定します。ZOrder は、パネル上のコンポーネントがペイントされる順序を制御します。

別のアプローチは、次を使用することです。

panel.add(0, label);

これは、コンポーネントの追加時に ZOrder を設定するのと同じ効果があります。

于 2013-05-14T16:30:57.450 に答える