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

article/2025/10/6 8:38:32

学习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);//关闭时退出程序

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


http://chatgpt.dhexx.cn/article/trCGiKUp.shtml

相关文章

SQL编程篇

SQL编程篇 这是以前的学习总结: 这一周将SQL编程篇仔细地看了一遍,有不少感触,因为SQL Server 中的T-SQL语言,在某种程度上就类似C等编程语言,其中有基本运算、控制语句及函数还有一个叫存储过程的东东。但目前对他们在…

SQL语言

创建数据库 创建table,create table后可以"库名.表名"或者"库名.用户.表名",也可以用上面工具选择,如果名字中含有特殊关键字,mysql需要交,sql server需要加[] 创建表 CREATE TABLE Student (S# CHAR ( 8 …

mysql -sql编程

基础语句 # 创建库 create database dome; # 切换到数据库 use dome; # 创建表 create table z (a int unsigned); # 查看表show create table z; # 查看表结构 desc z; # 插入数据 insert into z value(1);# 修改表字段类型 alter table zz change column a a int auto_incre…

pl/SQL编程基础

一、PL/SQL编程基础 1、pl/sql的组成:声明块、执行块、异常处理块 2、编制代码实现12...100的计算 3、编写求u12...100的结果并显示的存储过程 4、编写求12...n的带参数的存储过程 三、函数编程 1、函数的概念 function函数,存储在数据库中的带返回值的命名pl/s…

PL-SQL编程

PL/SQL介绍: PL/SQL是ORACLE对标准数据库语言的扩展 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言 PL/SQL 是对 SQL 的扩展 支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构 可用于创…

SQL编程学习01

在正式开始学习前,我发现之前安装的MySQL忘记了root密码。 所以在这里补充一下找回root密码的方法:MySQL找回root密码 一、问题与解决: 1、在创建表的时候出现了「1046(ErrorCode:1046.No database select…&#x…

SQL编程和高级查询

一、使用SQL操作表 1、SQL语言简介 2、数据库操纵语言 (1)INSERT命令 INSERT INTO grade VALUES (5,五年级);--插入每一列 INSERT INTO grade VALUES (6,六年级); INSERT INTO grade VALUES (7,七年级); INSERT INTO student(stuNo,stuName,sex) VAL…

数据库系统SQL编程-02

目录 一、查询平均分高于60分的课程(MSSQL) 表结构: 表样例 输出样例: 编译程序: 二、查询成绩最高的前三名同学(MSSQL) 表结构: 表样例 输出样例: 编译程序: 三、查询所授每门课程平均成绩均在70分以上的教师(MSSQL) 表结构: 表样例 …

嵌入式SQL编程快速上手教程

嵌入式SQL编程快速上手教程 声明:我这里标题虽是《嵌入式SQL编程快速上手教程》,但只是嵌入式SQL编程的冰山一角罢了,我会通过举一道简单例题来教小白快速上手嵌入式SQL编程 第一:题目描述 其模式描述分别是: S (s…

数据库系统SQL编程-01

目录 一、查询各专业学生的平均成绩(MSSQL) 表结构: 表样例 输出样例: 编译代码: 二、查询平均成绩最高的前3名同学 表结构: 表样例 输出样例: 编译代码: 三、 查询同专业的学生(MSSQL) 表结构: 表样…

pl/sql编程语言

–pl/sql编程语言 –pl/sql编程语言是对sql语言的扩展,是的sql语言具有过程化编程的特性 –pl/sql编程语言比一般的过程化编程语言,更加灵活高效 –pl/sql编程语言主要用来编写存储过程和存储函数等。 --声明方法,定义变量 --赋值操作可以用 : 也可以使…

SQL编程开发

文章目录 SQL概述SQL分类SQL语言规范 基本查询语句查询全部列查询特定列过滤操作模糊查询排序操作多表查询单行函数组函数group by和having 子查询库和表的操作库的操作表的操作数据类型列的操作 数据处理之增删改事务、约束和分页事务约束分页 安装好MySQL下步就是使用MySQL&a…

SQL编程

10-1 查询学生表所有学生记录 (5 分) 本题目要求编写SQL语句, 检索出stu表中所有学生记录。 提示:请使用SELECT语句作答。 表结构: 定义表结构的SQL语句。如: CREATE TABLE stu(sno char(4) NOT NULL,sname char(8) NOT NULL,sex tinyin…

SQL 编程

SQL Server中存在两种变量局部变量和成员变量,两种变量的特点和其他语言变量特点一样 全局变量:由系统定义和维护由系统定义和维护 变量名前加“” 例 name 就定义了一个全局变量“name” 局部变量:由用户定义和使用,变量…

可编程的SQL是什么样的?

背景 如果你使用传统编程语言,比如Python,那么恭喜你,你可能需要解决大部分你不需要解决的问题,用Python你相当于拿到了零部件,而不是一辆能跑的汽车。你花了大量时间去组装汽车,而不是去操控汽车去抵达自…

SQL编程语言1

1 SQL简介 SQL是一门操作关系型数据库的编程语言 SQL通用语法 SQL语句可以以单行或多行书写,以分号结尾。只有在读取到分号后系统才会默认你已经输入执行语句MySQL数据库的SQL语句不区分大小写,关键字建议使用大写注释 单行注释:-- 注释内…

sql数据库高级编程总结(一)

1、数学函数:操作一个数据,返回一个结果 (1)取上限 ceiling 如果有一个小数就取大于它的一个最小整数 列如9.5 就会取到 10 select code,name,ceiling(price) from car (2)取下限 floor 如果有一个小数就…

SQL基础编程

文章目录 一.SQL的环境搭载单机离线环境在线环境 二.SQL的单表操作1.sql基础三步2.sql四则运算3.limit (限制查询结果个数)4.order by(排序)5.where 综合条件筛选6.SQL常量7.distinct (把结果中重复的行删除)8.函数(1) 聚合函数:sum() ——求…

君正X1000芯片性能和处理器介绍

君正X1000芯片是针对语音识别功能做了专门定制的芯片,可以支持4个MIC,支持远场唤醒,功耗很低,适用于物联网、智能家居、智能音频、智能玩具等产品 。 X1000 芯片功能: 穿戴处理器级低功耗,待机功耗0.2mW&am…

IBM storwize V5000存储基础配置

初始帐号密码 Superuser / passw0rd 设备和系统的基本状态 首先添加配置主机,前提是已经连接好光纤线,配置好光纤交换机 这里我们使用光纤通道 系统应该可以自动识别到端口,主机名可以设置为主机型号或者主机应用名 两个端口完成 配置内部存…