需购买观看

全屏

13.2.1 AWT技术画出游戏主窗口(0.1版)


【专业IT培训机构,真正零首付入学www.bjsxt.com


·基本功能实现

      AWT和Swing是Java中常见的GUI(图形用户界面)技术,但是由于Java很少用于桌面软件开发,所以,大家无需花时间学习这两门技术。

      AWT是Java中最老的GUI技术,非常简单,但是实际开发中很少用到。本节中,仅限于画出基本的窗口和图形加载。

      建立Java项目,并建立类MyGameFrame。项目结构如图13-2所示:

图13-2 MyGame0.1项目结构图.png

图13-2 MyGame0.1项目结构图

【示例13-1】MyGameFrame类:画游戏窗口

package cn.sxt.game;

import javax.swing.JFrame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class MyGameFrame extends JFrame {
	public void launchFrame(){
		//在游戏窗口打印标题
		setTitle("尚学堂学员_程序猿作品");
		//窗口默认不可见,设为可见
		setVisible(true);
		//窗口大小:宽度500,高度500
		setSize(500, 500);
		//窗口左上角顶点的坐标位置
		setLocation(300, 300);
		
		//增加关闭窗口监听,这样用户点击右上角关闭图标,可以关闭游戏程序
		addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}
	
	public static void main(String[] args) {
		MyGameFrame f = new MyGameFrame();
		f.launchFrame();
	}
}

      执行结果如图13-3所示:

图13-3 示例13-1运行效果图.png

图13-3 示例13-1运行效果图

·要点讲解

      1. 继承JFrame类,画出窗口

      JFrame是java.swing中的主要类,我们画的窗口都需要继承JFrame。这样,JFrame的基本功能我们就可以直接使用了。

      2. 窗口坐标问题,了解坐标系

      setLocation(300, 300);代码的含义是定位窗口的位置。窗口的位置就是指“窗口左上角顶点的位置”。 如图13-4所示。

图13-4 游戏界面窗口的位置图.png

图13-4 游戏界面窗口的位置图

      这里Y轴的方向是向下的,和我们初中数学学的方向不一样。这就是计算机里面的坐标系。

      3. 物体就是矩形,物体的位置就是所在矩形左上角顶点的坐标

      游戏或开发中,所有物体的都是矩形。即使你看到一个圆在那里,我们处理的本质上是圆的外切矩形。即使你看到一个美女,我们处理的是美女所占用的矩形空间。 不然,给你一个不规则的图形,你没法做很多运算。

      游戏开发中的物体,位置通常指的就是:该物体的矩形的左上角顶点位置。

图13-5 飞机矩形区域图.png

图13-5 飞机矩形区域图

      上图中的“飞机”,实际我们在编程时处理的是飞机所在的“矩形区域”。

      4. 窗口关闭问题

      Frame类默认没有处理关闭窗口功能,我们需要自己添加关闭功能。System.exit(0)表示应用正常结束。addWindowListener()表示增加窗口监听事件。

addWindowListener(new WindowAdapter() {
	@Override
	public void windowClosing(WindowEvent e) {
		System.exit(0);
	}
});

      此处,如果想深入钻研,可以研究一下AWT的事件机制,在此不做赘述。

分类导航
点击按住视频可拖动

缩小

关闭

  • 正在学习
  • 北京总部地址:北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
  • 咨询电话:400-009-1906 010-56233821
  • Copyright 2007-2015 北京尚学堂科技有限公司
  • 京ICP备13018289号-1 京公网安备11010802015183