
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
前言
从本期开始,我们为大家提供完整的游戏源代码(点击下载)。Java咖啡馆倡导大家理论与实践并重,我们在连载中将给大家介绍关键技术以及实现思路,朋友们自行结合文章阅读源代码,好比一边读报一边喝咖啡,这才是滴滴香浓意犹未尽。
游戏布局
“连连看”属于一款二维战棋类游戏,要设计棋盘类的游戏,GridLayout应该是不二之选。现在让我们一起来看看GridLayout的构造函数:
·GridLayout():默认的情况下,将布局区域划分为1*1的大小
·GridLayout(int rows,int cols):指定布局区域横向和纵向的格子数
·GridLayout(int rows,int cols,int hgap,int vgap):同上,并且还指定了每个格子之间的横向间距hgap和纵向间距vgap
千万别让这三个构造函数把你给吓住了,其实只要你喜欢,完全可以放心大胆地使用其中的任何一个,就算不小心用“错”了,以后也有办法进行调整。惟一需要注意的是,GridLayout在添加控件时,默认顺序是从左上方向右下方依次添加的。
现在让我们来确定游戏的格子数目。究竟多少格子比较合适呢?太少会降低游戏的难度,太多又会造成视觉影响。所以,我们应该通过一对常量来表示,将来即使要修改,也是举手之劳。
在Java中,常量的定义需要写成public final static的形式,假如我们规定游戏的棋盘在横向有8个格子,纵向也有8个格子,那么,我们应该这样定义:
public final static int ROW = 8;
public final static int COLUMN = 8;
然后,我们使用GridLayout的第二种构造函数来创建布局:
GridLayout gridLayout = new GridLayout(ROW, COLUMN);
最后,我们还需要将游戏区(contentPanel)的布局改为上述布局:
contentPanel.setLayout(gridLayout);
如果你此时编译并运行程序的话,你可能会奇怪:界面怎么没有发生任何改变,是不是哪出错了?虽然我们指定了布局,可是什么控件也没有添加,当然就看不出变化。现在让我们一起在布局上添加按钮吧:
for (int i = 0; i < ROW * COLUMN; i++) {
JButton button = new JButton("Kyodai");
contentPanel.add(button);
}
再运行程序试试,是不是和我的一样(见图1)?

巧用JButton做文章