java趣味编程案例二:国际象棋棋盘的实现

问题描述:
打印出国际象棋棋盘(黑白交错)
问题分析:
棋盘由八块黑白相间的方块组成,通过swing编程实现。其中用标签来实现方块,在方块中填充黑或白色。通过i,j来遍历行和列,以i和j的值来判断填充什么颜色

代码分析

import javax.swing.*;
import java.awt.*;

public class _2ChessBoard {
     
    public static void main(String[] args) {
    //新建窗口
        JFrame jFrame=new JFrame("国际象棋棋盘");
        //设置窗口的大小(八个格子,每个格子宽,高为20个像素)
        jFrame.setSize(160,160);
        //窗口的位置
        jFrame.setLocation(300,300);
        //格子的行数,列数
        int m=8;
        //格子的像素
        int n=20;
        for(int i=0;ifor(int j=0;j//在每个位置添加标签
                JLabel jLabel=new JLabel();
                //标签的大小为格子的大小
                jLabel.setSize(n,n);
                //标签的位置为索引乘以格子的高度/宽度
                jLabel.setLocation(i*n,j*n);
                //放置黑色方块
                if((i+j)%2==0){
                    jLabel.setBackground(Color.BLACK);
                    //设置不透明度为不透明
                    jLabel.setOpaque(true);
                }else{
                //放置白色方块
                    jLabel.setBackground(Color.WHITE);
                    jLabel.setOpaque(true);
                }
       //设置边界颜色         jLabel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                jFrame.add(jLabel);
            }
        }
        //窗体设置可见
        jFrame.setVisible(true);
        //关闭退出
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

完整代码

import javax.swing.*;
import java.awt.*;

public class _2ChessBoard {
     
    public static void main(String[] args) {
        JFrame jFrame=new JFrame("国际象棋棋盘");
        jFrame.setSize(160,160);
        jFrame.setLocation(300,300);
        int m=8;
        int n=20;
        for(int i=0;ifor(int j=0;jnew JLabel();
                jLabel.setSize(n,n);
                jLabel.setLocation(i*n,j*n);
                if((i+j)%2==0){
                    jLabel.setBackground(Color.BLACK);
                    jLabel.setOpaque(true);
                }else{
                    jLabel.setBackground(Color.WHITE);
                    jLabel.setOpaque(true);
                }
                jLabel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
                jFrame.add(jLabel);
            }
        }
        jFrame.setVisible(true);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

你可能感兴趣的:(java趣味编程,国际象棋棋盘,窗体程序,swing,java趣味编程)