问题描述: 打印出国际象棋棋盘(黑白交错) 问题分析: 棋盘由八块黑白相间的方块组成,通过swing编程实现。其中用标签来实现方块,在方块中填充黑或白色。通过i,j来遍历行和列,以i和j的值来判断填充什么颜色
代码分析
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);
}
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);
}
}