自学了一个简易版的五子棋,棋子是用Graphics中的fillOval画出来的,棋盘是重写JFrame中paint方法画的。
思路分析:
1、棋盘类
创建一个棋盘类,继承JFrame,实现一个接口Config方便修改棋盘配置参数
首先设置窗口名称大小,以及界面不可改变大小。
再重写JFrame父类的paint方法绘制棋盘。在棋盘内画出横线和竖线。
我将棋盘每个点作为一个二维数组的元素,所以还要将二维数组初始化置零,避免判断是出现空指针异常。
package cn.itcast_qi;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
public class FiveChessUI extends JFrame implements Config{
public static void main(String[] args) {
FiveChessUI fcUI = new FiveChessUI();
fcUI.checkBoard();
Graphics g =fcUI.getGraphics();
ChessListener cl =new ChessListener(g,initChesses());
fcUI.addMouseListener(cl);
}
private void checkBoard() {
this.setTitle("五子棋");
this.setSize(600,600);
this.setResizable(false);
this.setDefaultCloseOperation(3);
this.setVisible(true);
}
@Override
public vo