文档介绍:Java自主学习训练
国际象棋——JavaGUI的设计基础
学习目的:通过在JPanel上添加组件JLabel,画成国际象棋棋盘的操作,熟悉JFrame(顶层容器)、JPanel(面板容器)和JLabel(组件)的相互关系
运行结果演示
程序源代码演示
package chapter;
import ;
import .*;
public class Chess extends JPanel
{// 继承面板类
public Chess(int grids,int gridsize)
{//grids:行数和列数, gridsize:单元格的高和宽
super(null);
for(int i=0; i<grids; i++)
{
for(int j=0; j<grids; j++)
{
JLabel l = new JLabel();//生成标签实例
(gridsize,gridsize);
(i*gridsize,j*gridsize);
if((i+j)%2==0)
{ //当小方格的坐标和刚好是偶数时,
(); //设置为方格为黑色
(true); //设置为不透明
}
(()); //设置边界为黑色
add(l);//将l标签添加到面板
}
}
}
public static void main(String[] args)
{
JFrame f = new JFrame();
(); /设置关闭窗口的方法
(658,677); //边框的长和宽
(null); //设置窗口相对于指定组件的位置
(new Chess(8,80));
(true);
}
}
知识点和代码,
容器(顶层容器面板容器组件)
循环(for,if)
UML 图演示:
容器
public Chess(int grids,int gridsize){//构造chess方法
JLabel l = new JLabel();//生成标签实例
(gridsize,gridsize);//标签的大小等于方格大小
(i*gridsize,j*gridsize);
add(l);//将标签l添加到面板