我必须使用Java和JFrame
形式进行单人纸牌游戏。我已经设法将ace卡的图像添加到JLabel
,并在点击时进行更改。我现在需要做的是将一张卡放在另一张卡上面,类似于上图。我猜我可以通过创建几个标签并将它们放在彼此之上来做到这一点。我不知道该怎么做,因为每次我创建一个标签时,它都放在卡片的顶部或下方。
答案 0 :(得分:1)
大多数布局管理员都是二维的。要在彼此之上显示组件,您需要开始使用ZOrder。
查看专为此类布局设计的Overlap Layout。
答案 1 :(得分:0)
一种可能的解决方案:
BoxLayout
。 (BoxLayout.Y_AXIS
)并将该布局设置为JPanel
。这将代表卡片。JLabel
向面板添加BoxLayout
之前,请创建一个带有负顶部插图的空边框。例如:label.setBorder(new EmptyBorder(-30, 0, 0, 0));
这将导致顶部的标签(卡)与底部卡重叠。您可以使用-30
,直到找到合适的尺寸。另一种可能的解决方案: