如何用java语言编写小游戏?(一)

学习java的过程中,如果想找一些小游戏项目来练手的话,我们需要学习哪些技术先呢?(适用于java初学者)

第一步:了解GUI编程—Swing基础

GUI(Graphical User interface): Java支持图形用户界面功能。GUI即图形用户界面,也就是应用程序提供给用户操作的图形界面,包括窗口、菜单、工具栏及其他多种图形界面元素,如文本框、按钮、列表框、对话框等。它能使应用程序显得更加友好(虽然现在开发桌面应用多半使用HTML和css还有js了,但还是有了解GUI编程的必要的

学习Java的GUI编程主要掌握两个包,分别是java.awt包和javax.swing,简称为AWT和Swing。
这两个包中包含了GUI编程需要用到的丰富的类库。

值得注意的是: AWT(Abstract Window Toolkit,抽象工具包)中的组件是有限的,不能实现GUI编程所需的所有功能,因此Swing作为AWT的拓展应运而生了。Swing不仅提供了AWT的所有功能,还用纯粹的Java代码对AWT功能进行了大范围扩充,所以Swing可以满足GUI编程的所有需求。

AWT简介:GUI编程的实现,是有一系列图形化组件来完成的,这些GUI的构件被称为控件。在Java的早期版本中,GUI控件由名为AWT的标准库来提供的。 除了GUI组件外,AWT还包括其他支持吐血绘制、处理剪切/复制类型的数据传送,以及其他相关操作。
java.awt包是Java的内置包,其中包括以下内容:

  1. 便于用户输入的一组丰富的界面组件

  2. 将组件放置在适当位置的几种布局管理局

  3. 时间处理模型

  4. 图形和图像工具等

  5. 使用该包中的类,必须显示声明:import java.awt.*

    下图为该包中控件类的体系结构图。
    在这里插入图片描述
    可以看出,控件类的父类为Component,其直接或间接子类中有图形界面中常用的控件,如Frame(窗口)、Button(按钮),Lable(标签),CheckBox(复选框)等等

Swing简介:Swting是在AWT基础上发展而来的轻量级组件,与AWT相比它不但改进了用户界面,而且所需的系统资源更少。Swing是纯Java组件,这使得所有的应用程序在不同的平台上运行时具有和本机外观相同的行为。
注意:使用改包时也需要显示声明:import javax.swing.*。
javax.swing 包中控件类体系图如下
在这里插入图片描述
我们在这里可以看到,这个包里大部分控件都是继承了awt包中的控件的,比如说:JFrame的父类为Frame等等、

下面讲解Swing程序中常用的类和控件
JFrame在GUI中表示为一个窗口对象,继承于Frame。JFrame控件用于在Swing程序中创建窗口,JFrame常见的构造器如下:

  • JFrame() 创建一个初始时不可见的窗口
  • JFrame(String title) 创建一个新的、初始时不可见的、具有指定标题的窗口

JFrame中还包含了展示窗口和很多对窗口属性进行设置的方法,如下:

  • void setTitle(String title) 以title中指定的值,设置窗口的标题

  • void setSize(int w,int h) 设置窗口的大小,参数w和h是指定的宽度和高度

  • void show() 显示窗口

  • Container getContentPane() 获得窗口的内容面板,当要往窗口中添加组件或者设置布局时,要用到该方法

  • void setVisible(boolean b) 设置窗口是否可见,由参数b决定

  • void setResizable(boolean resizable) 设置窗口是否由用户调整大小,由参数resizable决定

  • void setBackground(Color c) 设置窗口的背景色

    一个简单的窗体:
    在这里插入图片描述
    show()方法也可以设置窗口可见,但是它无法设置窗口不可见,没有setVisible()方法这样灵活。
    同时我们看到,颜色设置为黑色失败了。因为setBackground在设置窗口颜色的语句在JFrame中是无效的,因为该方法是继承自Frame的。要想在JFrame中改变窗口颜色,要用JFrame.getContentPane().setBackground(Corlor.bule)语句。
    在这里插入图片描述
    前面两个实例创建的窗口,是允许了用户自由调整大小的,就是可以去拉伸窗口的意思。。。但是不想让窗口的大小被随意调整,并且将创建窗口的代码进行封装,我们可以这样写:
    在这里插入图片描述
    注意:在我们关闭窗口时,应用程序并没有结束,因为Java规定的窗口默认的关闭模式只是使之不可见罢了,这就导致在关闭一个窗口时,其实只是隐藏了窗口,而不是程序结束的意思
    解决方法如下所示:
    //关闭窗口时,程序结束
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭时退出程序

    这些内容很简单,大家自己试试吧。

  • 6
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月夜空之星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值