java編程實現(xiàn)國際象棋棋盤
本文實例為大家分享了java編程實現(xiàn)國際象棋棋盤的具體代碼,供大家參考,具體內(nèi)容如下
問題描述:
打印出國際象棋棋盤(黑白交錯)
問題分析:
棋盤由八塊黑白相間的方塊組成,通過swing編程實現(xiàn)。其中用標(biāo)簽來實現(xiàn)方塊,在方塊中填充黑或白色。通過i,j來遍歷行和列,以i和j的值來判斷填充什么顏色
代碼分析
import javax.swing.*;
import java.awt.*;
public class _2ChessBoard {
public static void main(String[] args) {
//新建窗口
JFrame jFrame=new JFrame("國際象棋棋盤");
//設(shè)置窗口的大?。ò藗€格子,每個格子寬,高為20個像素)
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++){
//在每個位置添加標(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("國際象棋棋盤");
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);
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java 數(shù)據(jù)結(jié)構(gòu)算法Collection接口迭代器示例詳解
詳解Java中方法next()和nextLine()的區(qū)別與易錯點
Spring AI與DeepSeek實戰(zhàn)一之快速打造智能對話應(yīng)用
Spring Boot 配置和使用多線程池的實現(xiàn)

