双人五子棋的Java源代码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
exitButton.addActionListener(lis);
add(toolbar, BorderLayout.SOUTH);//将工具面板布局到界面"南"方也就是下面
add(chessBoard);//将面板对象添加到窗体上
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置界面关闭事件
//创建和添加菜单
menuBar = new JMenuBar();//初始化菜单栏
sysMenu = new JMenu("系统");//初始化菜单
startMenuItem = new JMenuItem("重新开始");
exitMenuItem = new JMenuItem("退出");
backMenuItem = new JMenuItem("悔棋");//初始化菜单项
private JMenuItem startMenuItem, exitMenuItem, backMenuItem;
//重新开始,退出,和悔棋菜单项
public StartChessJFrame() {
setTitle("单机版五子棋");//设置标题
chessBoard = new ChessBoard();//初始化面板对象
private int y; //棋盘中的y索引
private Color color;//颜色
public static final int DIAMETER = 30;//直径
public Point(int x, int y, Color color) {
this.x = x;
this.y = y;
;//将三个菜单项注册到事件监听器上
backMenuItem.addActionListener(lis);
exitMenuItem.addActionListener(lis);
menuBar.add(sysMenu);//将系统菜单添加到菜单栏上
setJMenuBar(menuBar);//将menuBar设置为菜单栏
private JPanel toolbar;//工具条面板
private JButton startButton, backButton, exitButton;
//重新开始按钮,悔棋按钮,和退出按钮
private JMenuBar menuBar;//菜单栏
private JMenu sysMenu;//系统菜单
toolbar = new JPanel();//工具面板栏实例化
startButton = new JButton("重新开始");//三个按钮初始化
backButton = new JButton("悔棋");
exitButton = new JButton("退出");
toolbar.setLayout(new FlowLayout(FlowLayout.LEFT));//将工具面板按钮用FlowLayout布局
this.color = color;
}
public int getX() {//拿到棋盘中的x索引Байду номын сангаас
return x;
}
public int getY() {//拿到棋盘中的Y索引
return y;
}
public Color getColor() {//得到颜色
return color;
}
}
第三个文件:
import javax.swing.*;
StartChessJFrame f = new StartChessJFrame(); //创建主框架
f.setVisible(true); //显示主框架
}
}
第二个文件:
import ;
/*五子棋的棋子设计。
*/
public class Point {
private int x; //棋盘中的x索引
sysMenu.add(startMenuItem);//将三个菜单项添加到菜单上
sysMenu.add(backMenuItem);
sysMenu.add(exitMenuItem);
MyItemListener lis = new MyItemListener();//初始化按钮事件监听器内部类
System.exit(0); //结束应用程序
} else if (obj == backMenuItem || obj == backButton) { //悔棋
"悔棋...");
chessBoard.goback();
}
}
}
public static void main(String[] args) {
if (obj == || obj == startButton) {
//重新开始
// JFiveFrame.this内部类引用外部类
"重新开始...");
chessBoard.restartGame();
} else if (obj == exitMenuItem || obj == exitButton) {
toolbar.add(startButton);//将三个按钮添加到工具面板上
toolbar.add(backButton);
toolbar.add(exitButton);
startButton.addActionListener(lis);//将三个按钮注册监听事件
backButton.addActionListener(lis);
第一个文件:
import javax.swing.*;
import ;
import java.awt.*;
/*
五子棋-主框架类,程序启动类
*/
public class StartChessJFrame extends JFrame {
private ChessBoard chessBoard;//对战面板
//setSize(800,800);
pack(); //自适应大小
}
private class MyItemListener implements ActionListener {//事件监听器内部类
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource(); //取得事件源
add(toolbar, BorderLayout.SOUTH);//将工具面板布局到界面"南"方也就是下面
add(chessBoard);//将面板对象添加到窗体上
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置界面关闭事件
//创建和添加菜单
menuBar = new JMenuBar();//初始化菜单栏
sysMenu = new JMenu("系统");//初始化菜单
startMenuItem = new JMenuItem("重新开始");
exitMenuItem = new JMenuItem("退出");
backMenuItem = new JMenuItem("悔棋");//初始化菜单项
private JMenuItem startMenuItem, exitMenuItem, backMenuItem;
//重新开始,退出,和悔棋菜单项
public StartChessJFrame() {
setTitle("单机版五子棋");//设置标题
chessBoard = new ChessBoard();//初始化面板对象
private int y; //棋盘中的y索引
private Color color;//颜色
public static final int DIAMETER = 30;//直径
public Point(int x, int y, Color color) {
this.x = x;
this.y = y;
;//将三个菜单项注册到事件监听器上
backMenuItem.addActionListener(lis);
exitMenuItem.addActionListener(lis);
menuBar.add(sysMenu);//将系统菜单添加到菜单栏上
setJMenuBar(menuBar);//将menuBar设置为菜单栏
private JPanel toolbar;//工具条面板
private JButton startButton, backButton, exitButton;
//重新开始按钮,悔棋按钮,和退出按钮
private JMenuBar menuBar;//菜单栏
private JMenu sysMenu;//系统菜单
toolbar = new JPanel();//工具面板栏实例化
startButton = new JButton("重新开始");//三个按钮初始化
backButton = new JButton("悔棋");
exitButton = new JButton("退出");
toolbar.setLayout(new FlowLayout(FlowLayout.LEFT));//将工具面板按钮用FlowLayout布局
this.color = color;
}
public int getX() {//拿到棋盘中的x索引Байду номын сангаас
return x;
}
public int getY() {//拿到棋盘中的Y索引
return y;
}
public Color getColor() {//得到颜色
return color;
}
}
第三个文件:
import javax.swing.*;
StartChessJFrame f = new StartChessJFrame(); //创建主框架
f.setVisible(true); //显示主框架
}
}
第二个文件:
import ;
/*五子棋的棋子设计。
*/
public class Point {
private int x; //棋盘中的x索引
sysMenu.add(startMenuItem);//将三个菜单项添加到菜单上
sysMenu.add(backMenuItem);
sysMenu.add(exitMenuItem);
MyItemListener lis = new MyItemListener();//初始化按钮事件监听器内部类
System.exit(0); //结束应用程序
} else if (obj == backMenuItem || obj == backButton) { //悔棋
"悔棋...");
chessBoard.goback();
}
}
}
public static void main(String[] args) {
if (obj == || obj == startButton) {
//重新开始
// JFiveFrame.this内部类引用外部类
"重新开始...");
chessBoard.restartGame();
} else if (obj == exitMenuItem || obj == exitButton) {
toolbar.add(startButton);//将三个按钮添加到工具面板上
toolbar.add(backButton);
toolbar.add(exitButton);
startButton.addActionListener(lis);//将三个按钮注册监听事件
backButton.addActionListener(lis);
第一个文件:
import javax.swing.*;
import ;
import java.awt.*;
/*
五子棋-主框架类,程序启动类
*/
public class StartChessJFrame extends JFrame {
private ChessBoard chessBoard;//对战面板
//setSize(800,800);
pack(); //自适应大小
}
private class MyItemListener implements ActionListener {//事件监听器内部类
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource(); //取得事件源