Java Swing:设置相对于背景的位置
我正在为一个学校项目做一个棋盘游戏,棋盘是这样的: 我要为每张卡片创建分幅,但我不确定如何将它们放置在“适合”背景图像的位置 我打算对每一张JPanel卡使用绝对定位和固定大小,但我认为这会有点难看 有没有一种方法可以使用GridLayout之类的东西,同时仍然能够使用布局和大小设置JPanel的位置?(以及元素之间的边距?) 这似乎有点棘手,我相信很多人可能已经遇到了这个问题Java Swing:设置相对于背景的位置,java,image,swing,user-interface,absolute,Java,Image,Swing,User Interface,Absolute,我正在为一个学校项目做一个棋盘游戏,棋盘是这样的: 我要为每张卡片创建分幅,但我不确定如何将它们放置在“适合”背景图像的位置 我打算对每一张JPanel卡使用绝对定位和固定大小,但我认为这会有点难看 有没有一种方法可以使用GridLayout之类的东西,同时仍然能够使用布局和大小设置JPanel的位置?(以及元素之间的边距?) 这似乎有点棘手,我相信很多人可能已经遇到了这个问题 提前感谢您的帮助元素之间的边距-您可以指定每个网格之间的水平/垂直间距。所有网格都是相同的。如果您需要更灵活的网格,
提前感谢您的帮助
元素之间的边距
-您可以指定每个网格之间的水平/垂直间距。所有网格都是相同的。如果您需要更灵活的网格,则应使用GridBagLayout
。的可能副本。假设网格单元格大小已知,您可以使用GridBagLayout
并用默认透明的JLabel
填充,然后,您可以简单地将标签的图标
属性分配给您想要的任何对象-如果JLabel
没有为您提供足够的定制,您可以使用JPanel
,但只需将其透明(setOpaque(false)
),然后您可以向其添加其他组件。请记住,所有这些都会影响组件的大小,因此您可能需要研究将其设置为固定大小的方法