java技术的图形化界面开发(源码)
JAVA语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行编程。从目前JAVA发展前景来看,我国更多企业倾向JAVA/J2EE技术,将其作为应用程序开发的首要选择方案。而且,随着时代的进步与安卓应用的流行,JAVA程序的开发变得越来越热门。图形化程序由于其简单易懂,不像命令行程序需要记住复杂的代码,而受到使用者的欢迎。在现有的JAVA基础下,本文深入分析了多线程机制,阐述运用卡马克卷轴算法和JAVA Swing组件以实现JAVA图形界面软件开发的方法。
目录
摘要4
关键词4
Abstract4
Key words4
引言4
1 编译环境与技术5
1.1 JAVA 5
1.2 Eclipse5
2 课题的提出与设计 5
3 基础框架设计 5
3.1 图形化界面技术 5
3.1.1 JAVA SWING技术5
3.1.2 GUI设计5
3.1.3 Canvas6
3.1.4 Graphics对象的基本绘制数6
3.2多线程6
3.2.1基本概念6
3.2.2 基本实现方法6
3.2.3 基本线程7
3.3 观察者模式7
3.3.1 基本概念7
3.3.2 结构设计7
3.4 监听器7
3.4.1 基本概念7
3.4.2 分类7
3.4.3结构设计7
4 基础图像绘制8
4.1 地图结构设计8
4.1.1 基本思路8
4.1.2 地图每一块的属性设计8
4.1.3 绘制过程8
4.2 双缓冲技术8
4.2.1 问题提出8
4.2.2 解决办法8
4.3 卡马克卷轴算法9
4.3.1问题提出9
4.3.2实现 9
5游戏内容优化9
5.1人物运动数据计算9
5.1.1基本 *好棒文|www.hbsrm.com +Q: ^351916072#
思路9
5.1.2基本算法10
5.2人物碰撞检测10
5.2.1 碰撞箱10
5.2.2 检测运动碰撞10
5.2.3检测下落条件与地面阻力10
5.3 光照算法11
5.3.1 基本原理11
5.3.2基本算法11
5.4 背包界面11
5.4.1基本思路11
5.4.2 鼠标对背包的操作11
5.5 物品合成算法11
6 游戏内容储存12
6.1 实现无限地图12
6.1.1 文件输入输出流12
6.1.2 基本思路12
6.2 读取地图12
6.2.1基本思路12
6.2.2 效果12
致谢13
参考文献13
图1 主界面演示6
图2 卡马克卷轴算法9
图3 背包界面演示11
图4 物品合成演示12
图5 地图效果12
基于JAVA技术的图形化界面开发
引言
引言
1编译环境与技术
1.1 JAVA
JAVA语言,前身是OAK语言。由sun公司推广。具有“一次编写,到处执行”的特点[1]。优点在于面对对象,语言可读性强。
1.2 Eclipse
用于编写JAVA的IDE。本身具有开源性,可以添加各种插件,方便于编写程序。[8]
2 课题的提出与设计
参考的游戏: minecraft。
《我的世界》是一款风靡全球的高自由度沙盒游戏,由瑞典Mojang AB和4J Studios开发,于2009年5月13日发行。2014年11月6日,该游戏被微软收购。2016年网易取得了该游戏在中国的代理权。
3 基础框架设计
3.1 图形化界面技术
3.1.1 JAVA SWING技术
通过JAVA SWING扩展组件,可以实现对屏幕进行绘制,并且通过与组件的互动来控制程序数据。
3.1.2 GUI设计
GUI模块大体分为3个类。组件(Component)、容器(Container)与布局管理器(LayoutManager)。[4]
组件是最基本的组成部位,可以以图形化的方式与用户交互。常用的有Button,Canvas等。本软件基本用的是Canvas。
容器主要负责容纳其他组件与容器。
布局管理器处理容器中的各个组件之间的位置关系。常用有边界布局(BorderLayout)、卡片布局(CardLayout)等。[5]
本软件采用一个容器Jfram存放组件Canvas。一个Canvas用于绘制主界面。一个用于绘制背包界面。两个Canvas用CardLayout布局管理器控制。通过键盘监听器控制布局管理器。从而实现界面的切换。
Cardlayout布局管理器能让多个组件共享一个空间,就像卡片一样叠在一起。通过自带的方法能够切换组件显示状态。[12]
一个Canvas的好处是结构明了,用户只用在一个组件上面处理数据,各个组件不会重叠,不会产生冲突。
图1 主界面演示
3.1.3 Canvas
Canvas是一个用来绘制图像的组件。使用的时候创建一个Graphics对象获取它的图形上下文,并且覆写父类的paintComponent()方法,就可以在里面进行绘制工作。
每一次绘制都有覆盖顺序,一般是背景层、前景层、人物层、UI层。背景层的优先级最低,被别的层覆盖。
3.1.4 Graphics对象的基本绘制函数
目录
摘要4
关键词4
Abstract4
Key words4
引言4
1 编译环境与技术5
1.1 JAVA 5
1.2 Eclipse5
2 课题的提出与设计 5
3 基础框架设计 5
3.1 图形化界面技术 5
3.1.1 JAVA SWING技术5
3.1.2 GUI设计5
3.1.3 Canvas6
3.1.4 Graphics对象的基本绘制数6
3.2多线程6
3.2.1基本概念6
3.2.2 基本实现方法6
3.2.3 基本线程7
3.3 观察者模式7
3.3.1 基本概念7
3.3.2 结构设计7
3.4 监听器7
3.4.1 基本概念7
3.4.2 分类7
3.4.3结构设计7
4 基础图像绘制8
4.1 地图结构设计8
4.1.1 基本思路8
4.1.2 地图每一块的属性设计8
4.1.3 绘制过程8
4.2 双缓冲技术8
4.2.1 问题提出8
4.2.2 解决办法8
4.3 卡马克卷轴算法9
4.3.1问题提出9
4.3.2实现 9
5游戏内容优化9
5.1人物运动数据计算9
5.1.1基本 *好棒文|www.hbsrm.com +Q: ^351916072#
思路9
5.1.2基本算法10
5.2人物碰撞检测10
5.2.1 碰撞箱10
5.2.2 检测运动碰撞10
5.2.3检测下落条件与地面阻力10
5.3 光照算法11
5.3.1 基本原理11
5.3.2基本算法11
5.4 背包界面11
5.4.1基本思路11
5.4.2 鼠标对背包的操作11
5.5 物品合成算法11
6 游戏内容储存12
6.1 实现无限地图12
6.1.1 文件输入输出流12
6.1.2 基本思路12
6.2 读取地图12
6.2.1基本思路12
6.2.2 效果12
致谢13
参考文献13
图1 主界面演示6
图2 卡马克卷轴算法9
图3 背包界面演示11
图4 物品合成演示12
图5 地图效果12
基于JAVA技术的图形化界面开发
引言
引言
1编译环境与技术
1.1 JAVA
JAVA语言,前身是OAK语言。由sun公司推广。具有“一次编写,到处执行”的特点[1]。优点在于面对对象,语言可读性强。
1.2 Eclipse
用于编写JAVA的IDE。本身具有开源性,可以添加各种插件,方便于编写程序。[8]
2 课题的提出与设计
参考的游戏: minecraft。
《我的世界》是一款风靡全球的高自由度沙盒游戏,由瑞典Mojang AB和4J Studios开发,于2009年5月13日发行。2014年11月6日,该游戏被微软收购。2016年网易取得了该游戏在中国的代理权。
3 基础框架设计
3.1 图形化界面技术
3.1.1 JAVA SWING技术
通过JAVA SWING扩展组件,可以实现对屏幕进行绘制,并且通过与组件的互动来控制程序数据。
3.1.2 GUI设计
GUI模块大体分为3个类。组件(Component)、容器(Container)与布局管理器(LayoutManager)。[4]
组件是最基本的组成部位,可以以图形化的方式与用户交互。常用的有Button,Canvas等。本软件基本用的是Canvas。
容器主要负责容纳其他组件与容器。
布局管理器处理容器中的各个组件之间的位置关系。常用有边界布局(BorderLayout)、卡片布局(CardLayout)等。[5]
本软件采用一个容器Jfram存放组件Canvas。一个Canvas用于绘制主界面。一个用于绘制背包界面。两个Canvas用CardLayout布局管理器控制。通过键盘监听器控制布局管理器。从而实现界面的切换。
Cardlayout布局管理器能让多个组件共享一个空间,就像卡片一样叠在一起。通过自带的方法能够切换组件显示状态。[12]
一个Canvas的好处是结构明了,用户只用在一个组件上面处理数据,各个组件不会重叠,不会产生冲突。
图1 主界面演示
3.1.3 Canvas
Canvas是一个用来绘制图像的组件。使用的时候创建一个Graphics对象获取它的图形上下文,并且覆写父类的paintComponent()方法,就可以在里面进行绘制工作。
每一次绘制都有覆盖顺序,一般是背景层、前景层、人物层、UI层。背景层的优先级最低,被别的层覆盖。
3.1.4 Graphics对象的基本绘制函数
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1730.html