java打印国际象棋棋盘的方法
2019-05-22 18:03
2066 查看
本文实例为大家分享了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<grids; i++) { for(int j=0; j<grids; 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<grids; i++) //外循环控制行 { for(int j=0; j<grids; 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); //显示窗口 } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- java打印出国际象棋棋盘
- java 循环打印出某对象所在类的类名和方法
- 打印java类中所有方法
- 根据json来生成打印java字段(属性),解析方法,类--1
- JAVA如何在任意方法中打印当前线程栈信息(StackTrace)
- java打印对象和toString方法
- java打印类名 文件名 方法名 行数
- java 数组打印四种方法
- Java打印某个方法栈中调用顺序
- php打印输出棋盘的实现方法
- 打印Java main方法执行的命令参数代码
- java 打印一字符串,并在main()方法内调用它
- Java中打印出来完全相同的两个字符串,用equals方法比较返回的却是false的原因
- java中打印数组的几种方法
- JavaDay08--Homework(定义接口和类并调用属性和方法+对象的多态性+打印对象+判定对象相等)
- 用java画国际象棋棋盘
- java 打印三角形,菱形的方法
- 用java实现特殊图形的打印(两种方法实现)
- Java 打印堆栈的几种方法
- php打印输出棋盘的实现方法