java Netbeans IDE - 覆盖图像(棋盘-棋子)

标签 java image swing netbeans

我正在尝试使用 GUI 的 NetBeans IDE 在 Java 中制作国际象棋游戏,但我无法使棋子停留在棋盘上方,当我尝试时,棋盘就会被推开。我对这两个图像都使用了标签。如何让棋子停留在棋盘上方而不将棋盘作为背景? (窗口的右侧将有棋盘和一个信息面板,例如计时器之类的东西,所以我不想让棋盘图像成为整个框架的背景)

最佳答案

您可以尝试很多事情。

你可以...

将棋子标签添加到棋盘标签上。这将允许您将片段“覆盖”在各个单元上。这需要您为单元格使用布局管理器,例如 GridBagLayout 之类的东西,因为它会自动将组件置于其父级空间的中心。

你可以...

使用JLayeredPane(使用诸如GridBagLayout之类的东西),将允许您将一个面板覆盖在另一个面板之上。

底层将是一个 JPanel,其中包含板的每个单元,顶层将是一个透明的 JPanel,其中包含所有部分

这变得更加复杂,因为您需要设计某种方法来填充“碎片”层的空白空间。

两个层都将根据您的需要使用 GridBagLayoutGridLayout...

你可以......

使用单个容器和 GridBagLayout。这将允许您同时将两个组件添加到布局内的同一(虚拟)单元格。

这变得有点棘手,因为您需要管理组件的 z 深度以确保组件布置在板的顶部。

关于java Netbeans IDE - 覆盖图像(棋盘-棋子),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22289157/

相关文章:

java - JTextArea 圆角 Java Swing

java - LibGDX - JFrame 中的 Lwjgl Canvas 无法跨平台工作

java - 如何在 Netbeans 创建的 Java ME 应用程序中缩放启动屏幕图像

ios - 关于 iOS 应用程序的图像和图标名称以及图标大小的最终说明

java - 连接两个流的 NullSafe 方法是什么?

Java hbm.xml 一列的多个索引

css - 横向模式下智能手机和平板电脑的响应图像

java - 当我的应用程序打开一个新的 java 程序时,如何防止我的应用程序使用新主题重新绘制自身?

java - 如何并行使用多个消息并检测所有执行何时完成?

java - 如何在 TaskExecutionAutoConfiguration 旁边创建额外的 TaskExecutor?