java編程實(shí)現(xiàn)國(guó)際象棋棋盤
本文實(shí)例為大家分享了java編程實(shí)現(xiàn)國(guó)際象棋棋盤的具體代碼,供大家參考,具體內(nèi)容如下
問(wèn)題描述:
打印出國(guó)際象棋棋盤(黑白交錯(cuò))
問(wèn)題分析:
棋盤由八塊黑白相間的方塊組成,通過(guò)swing編程實(shí)現(xiàn)。其中用標(biāo)簽來(lái)實(shí)現(xiàn)方塊,在方塊中填充黑或白色。通過(guò)i,j來(lái)遍歷行和列,以i和j的值來(lái)判斷填充什么顏色
代碼分析
import javax.swing.*;
import java.awt.*;
public class _2ChessBoard {
public static void main(String[] args) {
//新建窗口
JFrame jFrame=new JFrame("國(guó)際象棋棋盤");
//設(shè)置窗口的大?。ò藗€(gè)格子,每個(gè)格子寬,高為20個(gè)像素)
jFrame.setSize(160,160);
//窗口的位置
jFrame.setLocation(300,300);
//格子的行數(shù),列數(shù)
int m=8;
//格子的像素
int n=20;
for(int i=0;i<m;i++){
for(int j=0;j<m;j++){
//在每個(gè)位置添加標(biāo)簽
JLabel jLabel=new JLabel();
//標(biāo)簽的大小為格子的大小
jLabel.setSize(n,n);
//標(biāo)簽的位置為索引乘以格子的高度/寬度
jLabel.setLocation(i*n,j*n);
//放置黑色方塊
if((i+j)%2==0){
jLabel.setBackground(Color.BLACK);
//設(shè)置不透明度為不透明
jLabel.setOpaque(true);
}else{
//放置白色方塊
jLabel.setBackground(Color.WHITE);
jLabel.setOpaque(true);
}
//設(shè)置邊界顏色 jLabel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
jFrame.add(jLabel);
}
}
//窗體設(shè)置可見
jFrame.setVisible(true);
//關(guān)閉退出
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("國(guó)際象棋棋盤");
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);
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java簡(jiǎn)單讀取properties配置文件的方法示例
這篇文章主要介紹了java簡(jiǎn)單讀取properties配置文件的方法,涉及java針對(duì)properties配置的載入及文件屬性讀取相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
Java 數(shù)據(jù)結(jié)構(gòu)算法Collection接口迭代器示例詳解
詳解Java中方法next()和nextLine()的區(qū)別與易錯(cuò)點(diǎn)
Google?Kaptcha驗(yàn)證碼生成的使用實(shí)例說(shuō)明
Spring AI與DeepSeek實(shí)戰(zhàn)一之快速打造智能對(duì)話應(yīng)用
Spring Boot 配置和使用多線程池的實(shí)現(xiàn)

