你好,请问你有具体的将棋子图片放到棋盘上的Java代码吗?或者是你自己编写的Java国际象棋程序?很急!!!

2025-01-06 07:11:27
推荐回答(1个)
回答1:

有,但是我不能直接给你。我可以告诉你步骤。

首先是加载图片文件为 Image:比如你有个类叫 ResourceLoader 那么就添加下面的类成员:
public static final URL url = ResourceLoader.class.getResource("/xxx/.../文件名.png");
public static final Image img = Toolkit.getDefaultToolkit().createImage(url);

然后就加载好了。下一步是继承一个 JPanel(例如),添加鼠标/键盘事件,并重写 paint 方法(或 paintComponent 方法)。例如——
public class ChessPanel extends JPanel {
private Point[] chessPoints = new Point[共多少个棋子];
private boolean[] shown = new boolean[共多少个棋子];

@Override public void paintComponent (Graphics g) {
super.paintComponent(g);
for (int i=0; i<共多少个棋子; i++) {
if (shown[i]) {
g.drawImage(ResourceLoader.img, chessPoints[i].x, chessPoints[i].y, 棋子宽度, 棋子高度);
}
}
}

class MouseControler extends MouseAdapter {
@Override public void mousePressed (MouseEvent me) {
//自己写吧
repaint();
}
}
}

最后说明一下,图片资源文件可以打包到 jar 里。我把关键的部分都已经告诉你了。具体逻辑实现你自己写吧。当然数据结构你也可以自己写,我的例子只是告诉你相应的在 paint 或者 paintComponent 方法里全部画出来就行了。

希望能采纳。