五子棋-主框架类, 程序启动类
代码:
public class StartChessJFrame extends JFrame {
private ChessBoard chessBoard;//对战面板
private JPanel toolbar;//工具条面板
private JButton startButton, backButton, exitButton;
//重新开始按钮,悔棋按钮,和退出按钮
private JMenuBar menuBar;//菜单栏
private JMenu sysMenu;//系统菜单
private JMenuItem startMenuItem, exitMenuItem, backMenuItem; //重新开始,退出,和悔棋菜单项
public StartChessJFrame() { setTitle("简易版双人对战五子棋");
//设置标题
chessBoard= new ChessBoard();
// 创建和添加菜单
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 MBeanListener();//初始化按钮事件监听器内部类
this.startMenuItem.addActionListener(lis);
//将三个菜单项注册到事件监听器上
backMenuItem.addActionListener(lis);
exitMenuItem.addActionListener(lis);
}
MenuBar.add(sysMenu);
//将系统菜单添加到菜单栏上
setJMenuBar(menuBar);
// 将 menuBar 设置为菜单栏
toolbar =new JPanel();
//工具面板栏实例化
startButton= new JButton("重新开始");
//三个按钮初始化
backButton= new JButton("悔棋");
exitButton= new JButton("退出");
toolbar.setLayout(new FlowLayout(FlowLayout.LEFT));
// 将 工 具 面 板 按 钮 用FlowLayout 布局
toolbar.add(startButton);
//将三个按钮添加到工具面板上
toolbar.add(backButton);
toolbar.add(exitButton);
startButton.addActionListener(lis);
//将三个按钮注册监听事件
backButton.addActionListener(lis);
exitButton.addActionListener(lis);
add(toolbar,BorderLayout.SOUTH);
//将工具面板布局到界面下面
add(chessBoard);
//将面板对象添加到窗体上
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置界面关闭事件
//setSize(800,800);
pack(); // 自适应大小
}
private class MyItemListenerimplementsActionListener{//事件监听器内部类
public void actionPerformed(ActionEvent e){ Object obj =e.getSource();
// 取得事件源
if(obj == StartChessJFrame.this.startMenuItem || obj== startButton){ // 重新开始
// JFiveFrame.this 内部类引用外部类
System.out.println("重新开始...");