- 博客分类:
好久没更新博客了,最近花了一周时间,做了个单机版五子棋游戏,已经实现了棋盘界面的绘制,棋子下落等功能,就差加上判断输赢的规则了,暂且就贴上这部分代码以及效果图,以后陆续会添上后续代码,并升级为网络版五子棋,写的不好,还望各位大侠不吝赐教
伦理片 http://www.dotdy.com/
- package wzq1;
- import java.awt.BorderLayout;
- import java.awt.FlowLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.*;
- public class StartFrame extends JFrame {
- private JPanel toolbar;
- private JMenuBar menuBar;
- private JMenu sysMenu;
- private JMenuItem startMenuItem;
- private JMenuItem exitMenuItem;
- private JMenuItem backMenuItem;
- private JButton btnStart;
- private JButton btnBack;
- private JButton btnExit;
- public StartFrame(){
- //设置标题
- setTitle("单机版五子棋");
- //创建菜单栏
- menuBar=new JMenuBar();
- //创建和添加菜单
- sysMenu=new JMenu("系统");
- startMenuItem =new JMenuItem("重新开始");
- exitMenuItem =new JMenuItem("退出");
- backMenuItem =new JMenuItem("悔棋");
- sysMenu.add(startMenuItem);
- sysMenu.add(backMenuItem);
- sysMenu.add(exitMenuItem);
- MyItemListener lis=new MyItemListener();
- //将3个菜单项添加到菜单上
- startMenuItem.addActionListener(lis);
- backMenuItem.addActionListener(lis);
- exitMenuItem.addActionListener(lis);
- //将“系统”菜单加到菜单栏上
- menuBar.add(sysMenu);
- //设置此窗体的菜单栏
- setJMenuBar(menuBar);
- //工具栏面板实例化
- toolbar=new JPanel();
- //初始化3个按钮
- btnStart=new JButton("重新开始");
- btnBack=new JButton("悔棋");
- btnExit=new JButton("退出");
- //将工具栏面板按钮设置为FlowLayout布局
- toolbar.setLayout(new FlowLayout(FlowLayout.LEFT));
- //将3个按钮添加到工具面板上
- toolbar.add(btnStart);
- toolbar.add(btnBack);
- toolbar.add(btnExit);
- //将工具面板布局到界面“南”方
- add(toolbar,BorderLayout.SOUTH);
- //将3个按钮注册到事件监听器上
- btnStart.addActionListener(lis);
- btnBack.addActionListener(lis);
- btnExit.addActionListener(lis);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- setSize(500,550);
- //pack();
- ChessBoard chessBoard=new ChessBoard();
- add(chessBoard,BorderLayout.CENTER);
- }
- //内部类
- public class MyItemListener implements ActionListener{
- @Override
- public void actionPerformed(ActionEvent e) {
- //获取事件源
- Object obj=e.getSource();
- if(obj==StartFrame.this.startMenuItem||obj==btnStart){
- System.out.println("重新开始");
- }else if(obj==backMenuItem||obj==btnBack){
- System.out.println("悔棋");
- }else if(obj==exitMenuItem||obj==btnExit){
- System.out.println("退出");
- }
- }
- }
- public static void main(String[] args) {
- new StartFrame().setVisible(true);
- }
- }