2013-06-26 73 views
0

我在一半的JPanel上渲染了4x4棋盘(分辨率400x400)的缓冲图像。是否有可能找到每个方形角落的坐标而无需手动进行?我在JPanel上使用绝对定位,它是除框架外唯一的容器。在缓冲图像上查找坐标

回答

1

如果您有一个400 x 400的4 x 4棋盘,那么每个方块都是100 x 100像素。

当您构建这样的BufferedImage时,您会在构建时为每个方块节省Rectangle

这样,当您稍后点击鼠标时,您可以使用contains方法Rectangle来确定单击了哪个方块。

你不应该使用绝对定位。如果棋盘占用JPanel的一半,则FlowLayoutBoxLayout运行良好。

+0

嗯,它们不是完美的正方形(忘记提及),正方形不是独立的,而是完全在图像中。有其他方法吗? – Anon855

+0

@ Anon855:好的。将图像放在Microsoft Paint或其他绘画程序中并计算像素。为每个方块创建一个矩形。您的另一种选择是编写一个通过构建BufferedImage来绘制棋盘的类。 –

+0

当然!。我应该有,虽然这些选项...感谢 – Anon855