java - 使用 MouseListener 选择网格中的一系列单元格

标签 java swing jpanel mouselistener

链接帖子:How to use MouseListener to find a specific cell in a grid

我正在尝试创建一个战舰游戏,其 10x10 网格由 100 个单元格组成。 Grid 扩展了 JPanel,Cell 也扩展了 JPanel。早些时候,我创建了上面的链接来询问如何实现 MouseListener 来执行此操作。由于代码都在该页面上,我只是引用一下。

有人在该链接上发布了一个很好的答案,我接受了。我现在可以使用 MouseListener 来检测网格上任何单元格中的移动、点击等。

但是,我遇到了另一个障碍。我正在尝试将船只放置在我的网格上。我现在忘记了方向(因为我假设所有船只都将水平放置)。第一艘船将占用五个单元。我想将光标移动到网格上的一个单元格上,并有其他四个“尾部”单元格,光标位于单元格的右侧,也突出显示。如果总共没有五个空闲单元格(可能是因为光标太靠近网格边缘),则单元格将变成红色。否则,它们会变成绿色。

放置第一艘船后,需要放置第二艘船。它有四个单元格长。因此,当鼠标悬停在一个单元格上时,它将有一个由三个单元格组成的“尾部”,依此类推。

我对如何改变颜色、如何处理方向以及如何从五艘船改为四艘船等等感到满意。但是,我不知道如何一次选择多个单元格。 有人知道如何实现吗?我很想发布我尝试过的内容,但事实是,我什么也没有。

最佳答案

使用 JButtons/JToggleButtons 代替 JPanels

关于java - 使用 MouseListener 选择网格中的一系列单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16196379/

相关文章:

Java (JSP) 未打印出 system.out.println 中的 "0x0a"或 "\n"新行

java - 如何从通用 JAXBElement<?延伸 >

Java Swing为一组按钮添加鼠标监听器(内部类)导致故障

java - 不显示按钮和标签

java - 构建无限深度的 JTree

Java JPanel使用eclipse导入图像

java - 在 Scala 中使用 Java 库?

java - 给 JEditorPane 一个像 JTextArea 一样的 append(...) 方法

java - 如何移动JPanel中图形的位置

java - 将 JPanel 保存到 mySQL 数据库 (Java)