概述
文章来源:电脑爱好者 作者:张剑
谁知道通天的巴比伦塔耗费了多少沙石?又有谁知道罗马的建成经历了多少个日夜?我们惟一知道的是,没有一块块砖石的垒砌,就没有蜿蜒万里的长城;没有巨石和黏土的堆集,就没有亘古不变的金字塔。由此可见,基础知识的准备对于我们学习任何事物都至关重要,那么,就让我们从认识Swing的一些基础功能开始,启动我们建造罗马的伟大工程吧!
前言
Java咖啡馆已经开张不少时日了,如果你已经喜欢上了Java这杯咖啡的味道,那么记得常来哦。这一次,我们为大家准备了一大杯香浓的咖啡——将以开发一个“连连看”游戏为蓝本,和大家共同学习Java中Swing的用法,当你细心品味这杯咖啡后,你会发现,不但Java这杯咖啡还别有一番风味,而且还学会了专业游戏的开发方法,真是两全其美!
为了让大家先睹为快,下图便是游戏的截图。大家可以下载游戏试玩(下载游戏程序;下载源文件),然后在命令行方式下使用java -jar kyodai.jar来运行。此外,还可以到我的主页http://www.ismyway.com上下载这个游戏的单机版以及手机版进行试玩(见图1)。
JPanel toolBar = new JPanel();
toolBar.setBackground(Color.white);
toolBar.setPreferredSize(new Dimension(780, 48));
JPanel actionPanel = new JPanel(); //新建JPanel型的控件
actionPanel.setBackground(Color.yellow); //设置背景色
actionPanel.setPreferredSize(new Dimension(160, 380)); //设置大小
JPanel contentPanel = new JPanel();
contentPanel.setBackground(Color.blue);
contentPanel.setPreferredSize(new Dimension(620, 380));
this.getContentPane().add(toolBar, BorderLayout.NORTH);
this.getContentPane().add(actionPanel, BorderLayout.EAST);
this.getContentPane().add(contentPanel, BorderLayout.CENTER);
}
public static void main(String[] args) throws HeadlessException {
KyodaiUI kyodaiUI = new KyodaiUI();
kyodaiUI.show();
}
}
让我们来看看上面这段程序是如何运行的。首先,extends JFrame表明了这是从JFrame中继承过来的,JFrame是最基本的顶层容器控件。实际上,在JDK中,以字母J打头的控件都是Swing控件。然后设置了容器的属性,其中,setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)是用来告诉Java虚拟机,当用户点击窗体右上角的“关闭”按钮时,关闭该窗口进程。如果不这么做的话,你会发现虽然你可以点将窗口关闭,然而程序却没有退出。在接下来的代码中,我们为顶层容器添加了三个Panel容器。要注意的是,在AWT中,我们可以直接写为add(toolBar, BorderLayout.NORTH) ,而在 Swing 中却一定要写成getContentPane(). add(toolBar, BorderLayout.NORTH) ,否则程序就会出错。
现在大家可以放在编译运行看看,是不是和我的运行结果一样(见图3)?
贪玩毛豆为你收集整理的跟我学Java Swing之游戏设计(1)的全部内容,希望文章能够帮你解决跟我学Java Swing之游戏设计(1)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复