java打印国际象棋棋盘的方法

网友投稿 616 2023-01-06


java打印国际象棋棋盘的方法

本文实例为大家分享了java打印出国际象棋棋盘的具体代码,供大家参考,具体内容如下

问题分析

观察国际象棋棋盘的图案,可以发现其中的规律:棋盘由八行八列黑白方块相间组成,可以用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方块还是白方块。这里我们使用了Swing的标签组件JLable,通过设置JLabel组件的背景色和透明度来实现黑白方块。

(1)确定程序框架

这是一个绘图案例,这里我们采用JFrame创建窗口,然后在窗口里添加JLabel标签组件,通过前面的问题分析可知,JLabel标签要设置一些属性实现黑白方块,然后显示窗口.

程序框架代码如下:

import javax.swing.JFrame;

import javax.swing.JLabel;

public class First

{

public static void main(String[] args)

{

JFrame f=new JFrame("国际象棋棋盘");//窗口属性设置

JLabel lab = new JLabel(); //生成标签实例

f.add(lab); //添加标签

f.setVisible(true); //显示窗口

}

}

(2)窗口属性设置

窗口属性设置包括窗口大小、位置等设置,其中窗口大小要满足能够容纳黑白方格,这里指定黑白方格大小为:20*20,那么窗口属性大小大概为:168*195。窗口位置可以随便指定,这里指定为:(350,200)。程序代码如下:

//窗口设置大小

f.setSize(168,195); //边框的长和宽

//窗口设置位置

Point point=new Point(350,200);

f.setLocation(point);

(3)标签属性设置

标签的属性主要是标签的位置及背景色,棋盘是由八行八列黑白方块相间组成,可以通过双重循环来实现,用i控制行,j来控制列,位置很容易设置,根据i+j的和的变化来设置背景色,表示黑方块还是白方块。程序代码如下:

int grids=8; //行数和列数

int gridsize=20; //单元格的高和宽

for(int i=0; i<gSqWXWEQrids; i++)

{

for(int j=0; j

{

JLabel l = new JLabel(); //生成标签实例

l.setSize(gridsize,gridsize); //设置标签大小

l.setLocation(i*gridsize,j*gridsize); //设置标签位置

if((i+j)%2==0)

{ //当小方格的坐标和刚好是偶数时,

l.setBackground(Color.black); //设置方格为黑色

l.setOpaque(true); //设置为不透明

}

else

{

l.setBackground(Color.white); //设置方格为白色

l.setOpaque(true); //设置为不透明

}

l.setBorder(BorderFactory.createLineBorder(Color.black)); //设置边界为黑色

}

}

完整代码:

import java.awt.Color;

import java.awt.Point;

import javax.swing.BorderFactory;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class First

{

public static void main(String[] args)

{

JFrame f=new JFrame("国际象棋棋盘"); //创建窗口

f.setSize(168,195); //窗口设置大小 //边框的长和宽

//窗口设置位置

Point point=new Point(350,200);

f.setLocation(point);

int grids=8; //行数和列数

int gridsize=20; //单元格的高和宽

for(int i=0; i

{

for(int j=0; j

{

JLabel l = new JLabel(); //生成标签实例

l.setSize(gridsize,gridsize); //设置标签大小

l.setLocation(i*gridsize,j*gridsize); //设置标签位置

if((i+j)%2==0)

{ //当小方格的坐标和刚好是偶数时,

l.setBackground(Color.black); //设置方格为黑色

l.setOpaque(true); //设置为不透明

}

else

{

l.setBackground(Color.white); //设置方格为白色

l.setOpaque(true); //设置为不透明

}

l.setBorder(BorderFactory.createLineBorder(Color.black)); //设置边界为黑色

f.add(l); //添加标签

}

}

f.setVisible(true); //显示窗口

}

}

{

JLabel l = new JLabel(); //生成标签实例

l.setSize(gridsize,gridsize); //设置标签大小

l.setLocation(i*gridsize,j*gridsize); //设置标签位置

if((i+j)%2==0)

{ //当小方格的坐标和刚好是偶数时,

l.setBackground(Color.black); //设置方格为黑色

l.setOpaque(true); //设置为不透明

}

else

{

l.setBackground(Color.white); //设置方格为白色

l.setOpaque(true); //设置为不透明

}

l.setBorder(BorderFactory.createLineBorder(Color.black)); //设置边界为黑色

}

}

完整代码:

import java.awt.Color;

import java.awt.Point;

import javax.swing.BorderFactory;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class First

{

public static void main(String[] args)

{

JFrame f=new JFrame("国际象棋棋盘"); //创建窗口

f.setSize(168,195); //窗口设置大小 //边框的长和宽

//窗口设置位置

Point point=new Point(350,200);

f.setLocation(point);

int grids=8; //行数和列数

int gridsize=20; //单元格的高和宽

for(int i=0; i

{

for(int j=0; j

{

JLabel l = new JLabel(); //生成标签实例

l.setSize(gridsize,gridsize); //设置标签大小

l.setLocation(i*gridsize,j*gridsize); //设置标签位置

if((i+j)%2==0)

{ //当小方格的坐标和刚好是偶数时,

l.setBackground(Color.black); //设置方格为黑色

l.setOpaque(true); //设置为不透明

}

else

{

l.setBackground(Color.white); //设置方格为白色

l.setOpaque(true); //设置为不透明

}

l.setBorder(BorderFactory.createLineBorder(Color.black)); //设置边界为黑色

f.add(l); //添加标签

}

}

f.setVisible(true); //显示窗口

}

}

{

for(int j=0; j

{

JLabel l = new JLabel(); //生成标签实例

l.setSize(gridsize,gridsize); //设置标签大小

l.setLocation(i*gridsize,j*gridsize); //设置标签位置

if((i+j)%2==0)

{ //当小方格的坐标和刚好是偶数时,

l.setBackground(Color.black); //设置方格为黑色

l.setOpaque(true); //设置为不透明

}

else

{

l.setBackground(Color.white); //设置方格为白色

l.setOpaque(true); //设置为不透明

}

l.setBorder(BorderFactory.createLineBorder(Color.black)); //设置边界为黑色

f.add(l); //添加标签

}

}

f.setVisible(true); //显示窗口

}

}

{

JLabel l = new JLabel(); //生成标签实例

l.setSize(gridsize,gridsize); //设置标签大小

l.setLocation(i*gridsize,j*gridsize); //设置标签位置

if((i+j)%2==0)

{ //当小方格的坐标和刚好是偶数时,

l.setBackground(Color.black); //设置方格为黑色

l.setOpaque(true); //设置为不透明

}

else

{

l.setBackground(Color.white); //设置方格为白色

l.setOpaque(true); //设置为不透明

}

l.setBorder(BorderFactory.createLineBorder(Color.black)); //设置边界为黑色

f.add(l); //添加标签

}

}

f.setVisible(true); //显示窗口

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:浅谈java日志格式化
下一篇:最新接口测试工具下载速度(常见接口测试工具)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~