java编程实现国际象棋棋盘
更新时间:2019年05月23日 08:57:43 作者:ayangann915
这篇文章主要为大家详细介绍了java编程实现国际象棋棋盘,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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;i<m;i++){ for(int j=0;j<m;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;i<m;i++){ for(int j=0;j<m;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); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
IntelliJ IDEA 设置代码提示或自动补全的快捷键功能
这篇文章主要介绍了IntelliJ IDEA 设置代码提示或自动补全的快捷键功能,需要的朋友可以参考下2018-03-03SPRING FRAMEWORK BEAN作用域和生命周期原理解析
这篇文章主要介绍了SPRING FRAMEWORK BEAN作用域和生命周期原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-01-01Java中system.exit(0) 和 system.exit(1)区别
本文主要介绍了Java中system.exit(0) 和 system.exit(1)区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-05-05@RequestParam 和@RequestBody注解的区别解析
在 Spring MVC 中,我们可以使用 @RequestParam 和 @RequestBody 来获取请求参数,但它们在用法和作用上有一些区别,这篇文章主要介绍了@RequestParam 和@RequestBody注解的区别,需要的朋友可以参考下2023-06-06
最新评论