Java Swing:设置相对于背景的位置

Java Swing:设置相对于背景的位置,java,image,swing,user-interface,absolute,Java,Image,Swing,User Interface,Absolute,我正在为一个学校项目做一个棋盘游戏,棋盘是这样的: 我要为每张卡片创建分幅,但我不确定如何将它们放置在“适合”背景图像的位置 我打算对每一张JPanel卡使用绝对定位和固定大小,但我认为这会有点难看 有没有一种方法可以使用GridLayout之类的东西,同时仍然能够使用布局和大小设置JPanel的位置?(以及元素之间的边距?) 这似乎有点棘手,我相信很多人可能已经遇到了这个问题 提前感谢您的帮助元素之间的边距-您可以指定每个网格之间的水平/垂直间距。所有网格都是相同的。如果您需要更灵活的网格,

我正在为一个学校项目做一个棋盘游戏,棋盘是这样的:

我要为每张卡片创建分幅,但我不确定如何将它们放置在“适合”背景图像的位置

我打算对每一张JPanel卡使用绝对定位和固定大小,但我认为这会有点难看

有没有一种方法可以使用GridLayout之类的东西,同时仍然能够使用布局和大小设置JPanel的位置?(以及元素之间的边距?)

这似乎有点棘手,我相信很多人可能已经遇到了这个问题


提前感谢您的帮助

元素之间的边距
-您可以指定每个网格之间的水平/垂直间距。所有网格都是相同的。如果您需要更灵活的网格,则应使用
GridBagLayout
。的可能副本。假设网格单元格大小已知,您可以使用
GridBagLayout
并用默认透明的
JLabel
填充,然后,您可以简单地将标签的
图标
属性分配给您想要的任何对象-如果
JLabel
没有为您提供足够的定制,您可以使用
JPanel
,但只需将其透明(
setOpaque(false)
),然后您可以向其添加其他组件。请记住,所有这些都会影响组件的大小,因此您可能需要研究将其设置为固定大小的方法