Java五子棋(1)

一、简介

        Java五子棋基本内容也是通过JFrame来实现,关于具体JFrame实现请参考:

                    (66条消息) 使用Java Swing组件开发画板(1)_️771的博客-CSDN博客

整个窗体创建主要分为棋盘、功能区以及菜单栏,需要达到的效果如下:

Java五子棋(1)_第1张图片

以下是过程分析

二、实现过程 

        1、棋盘绘制

                这里将会使用一种全新的绘制方式,我们可以编写一个接口用于保存棋盘的基本信息如行数、列数、宽、高等信息,并通过继承接循环绘制得到。这样做的好处是可以对窗体进行灵活处理,并且棋盘不会受窗体变化影响。此外也可以方便其他类访问数据

        首先定义棋盘信息

public interface config {
    //窗体大小
    public static final int windowWidth = 1280;
    public static final int windowHeight = 820;
    
    //棋盘左上角起点
    public static final int X0 = 40;
    public static final int Y0 = 25;
    //棋盘每个点间隔大小
    public static final int SIZE = 50;
    //棋盘行数和列数
    public static final int LINE = 15;
 
}

        在主方法中将棋盘绘制出来

public void setPanel(){
    //创建面板对象
   JP1 = new JPanel() {
     @Override
     public void paint(Graphics g) {
       super.paint(g);
        //循环绘制棋盘网格
       for (int i=0;i

        2、功能面板绘制

 public void setPanel(){
    JP1 = new JPanel() {
       @Override
       public void paint(Graphics g) {
       super.paint(g);
       for (int i=0;i

        3、菜单栏设置

                这里使用Java中的menuBar功能添加菜单栏,并添加子选项

 public void Menu(){
        JMenuBar menuBar = new JMenuBar();
        this.setJMenuBar(menuBar);

        JMenu menuEdit = new JMenu("编辑");
        menuBar.add(menuEdit);
        menuEditNew = new JMenuItem("新建游戏");
        menuEdit.add(menuEditNew);
        menuEditSave = new JMenuItem("保存游戏");
        menuEdit.add(menuEditSave);

        JMenu menuSelect = new JMenu("选择");
        menuBar.add(menuSelect);
        menuSelectEasy = new JMenuItem("简单");
        menuSelect.add(menuSelectEasy);
        menuSelectMid = new JMenuItem("中等");
        menuSelect.add(menuSelectMid);
        menuSelectHard = new JMenuItem("困难");
        menuSelect.add(menuSelectHard);

        JMenu menuHelp = new JMenu("帮助");
        menuBar.add(menuHelp);
        menuHelpText = new JMenuItem("帮助文档");
        menuHelp.add(menuHelpText);
    }

        4、添加按键监听器

                接下来需要为面板上添加的按键设置监听器(此处展示几个功能的监听器,其他按键类似)

 public void StartandEnd(){
        jb1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
              
            }
        });
        jb2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
             
            }
        });
    }

(持续更新)

你可能感兴趣的:(java,开发语言)