3

GUIでカードを表示しようとしていますが、スペースを節約するためにカードを重ねたいと思っています。しかし、私はそれを機能させることができないようです。私は現在MigLayoutを使用していますが、それは他の何かよりもJLabelの問題のように感じます。

それを大まかに説明するために、実際にトランプのゲームをプレイすることを検討してください。通常、カードを手に持っているときは、カードの一部だけを見る必要があり、カードの大部分が別のカードと重なっているなど、最後のカードが完全に表示されるまで、その上には何もありません。下のカードの一部だけが表示され、次に上のカードが完全に表示されるように重ねたいです。

現在の問題は、JPanelにJLabelを追加すると、既存のラベルの後ろに最新のラベルが配置されることです。すでにあるものの前に置いてほしい。前面にあるラベルを設定できる方法が見つからないようです。

私は次のようなことをしたい:

card1をセル00に配置しますcard2をセル00に配置しますyの位置を入れ替えます両方のカードが重なっている領域には、card2が上にあります

追加するだけで遅れが生じます。これは、コンポーネントの表示で先着順の優先順位を示しています。私はむしろ先着順の優先順位を持ちたいです。そして、私が言ったように、私はこれのいずれかを可能にする方法を見つけようとして運がなかった。

不明な点がある場合はお知らせください。前もって感謝します。

4

2 に答える 2

6

JPanelはContainerから継承しているように見えます。Containerには、setComponentZOrder()必要なことを実行しているように聞こえるメソッドがあります。

setCompoentZOrder()ドキュメント

于 2013-03-27T04:01:22.940 に答える
5

ZOrderがどのように機能するかについてもう少し説明し、カードゲームに役立つレイアウトマネージャーを提供する可能性があるオーバーラップレイアウトを確認してください。

于 2013-03-27T05:10:09.760 に答える