摘要:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性。该文基于JAVA语言,在介绍JAVA概念的基础上,实现了图像生成器的简单设计,通过运行程序,可以绘制各种图形,并且可以对图形进行预览、保存等操作。

关键词:JAVA;面向对象;图像生成

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)20-4889-03

JAVA-based Image Generator Design and Implementation

WANG Fei, HOU Wei-dong

(The Baicheng Medical College, Baicheng 137000,China)

Abstract: Java is a cross-platform application software can write object-oriented programming language. Java technology offers excellent versatility, efficiency, platform portability, and security. This paper is based on the JAVA programming language, introduced the JAVA con cept to achieve a simple design of the image generator to run the program, you can draw a variety of graphics and graphics preview, save, and other operations.

Key words: JAVA; object-oriented; image generation

1 JAVA概述

Java是一种完全面向对象的编程语言,既是一种解释执行的语言,也是一种编译执行的语言。Java可用来生成两类程序:应用程序、小应用程序(Applet)。JAVA主要具有几个特点:

1)简单:屏弃了C++中许多容易出错和混淆的概念,比如指针、运算符重载、多重继承等。Java还通过实现自动垃圾回收机制而大大简化了程序设计人员对内存的管理工作,减少了错误的发生。

2)面向对象:基于对象的编程更符合人的思维模式,使人们更容易编写程序。

3)多线程:Java内置了对多线程的支持。多线程使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。

4)平台无关性:也就是常说的跨平台。Java程序被编译成字节码的形式,在有Java虚拟机的系统上就能够运行java程序。也就是一次写成,处处运行。

5)动态性:Java的基本组成单元是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态加载的,这就使得Ja va可以在分布计算功能中动态的维护程序及类库,而不像C++那样,每当类库升级之后,相应的程序都必须重新修改,编译。

Java和C++的区别主要有以下几点:1)Java屏弃了烦琐的指针;2)Java不支持预处理功能;3)Java不支持多重继承;4)Java不支持操作符重载;5)自动内存管理;6)方便的字符串功能;7)强大的异常处理机制。

2设计内容

该文基于JAVA语言,在介绍JAVA概念的基础上,实现了图像生成器的简单设计。图像生成器具有绘制直线、空心圆、实心圆、空心矩形、实心矩形、空心圆角矩形、实心圆角矩形、空心椭圆、实心椭圆等各种图形,具有橡皮擦、选择线条粗细及线条颜色在当前光标处插入文字、设置字号字形等工具,可以打开、保存、预览图形文件,获取当前屏幕在绘图区域显示,可以设置窗口的风格,状态栏上显示当前鼠标的位置及系统当前时间。

通过设计,可以达到几下要求:

1)用户可选择对应图形按钮绘制对应图形也可以随意画,可以任意改变线条的粗细及线条颜色,插入自己满意的字号字形的文字,画好后可以保存为.MP文件。

2)对于自己画错或不满意的地方可以用橡皮擦擦除,橡皮擦的擦拭范围的宽窄可以改变。

3)可以打开及保存MP文件、预览图形文件。

4)通过选择相应的窗口风格选项来改变当前窗口的显示风格。

5)通过视图工具栏的工具栏的相应选取项来控制常用工具栏、绘图工具栏及状态栏的显示与否。

6)可以获取屏幕的内容在当前绘图区域显示。

3总体设计

3.1图像生成器窗体的设计

在设计的Making picture窗口中使用的是BorderLayout布局菜单栏上有文件、视图、设置、风格、帮助菜单项。在菜单项下是常用工具栏,常用工具栏上有新建、打开、保存、获取屏幕、清除、绘制图形、插入文字及文字的字号、字形的按钮,窗口的左边是绘图工具栏,上面有铅笔、直线、、空心圆、实心圆、空心矩形、实心矩形、空心圆角矩形、实心圆角矩形、空心椭圆、实心椭圆、橡皮擦、选择线条粗细及线条颜色的按钮,窗口最下面是状态栏,状态栏的左边显示当前鼠标的状态和位置,右边显示系统当前时间。鼠标指到常用工具栏和绘图工具栏上的相就按钮上时有相应的提示。窗口中间是绘图区域以白色为背景。

3.2相应功能设计

4程序主要源代码及说明

因篇幅有限,截取部分源代码如下:

class Line extends drawings //直线类

{void draw(Graphics2D g2d)

{g2d.setPaint(new Color(R,G,B));

java 实现画函数图像_函数图像生成器 [基于JAVA的图像生成器设计与实现]相关推荐

  1. java源码聊天软件_【原创】基于Java NIO的多人在线聊天工具源码实现(登录,单聊,群聊)...

    近来在学习Java NIO网络开发知识,写了一个基于Java NIO的多人在线聊天工具MyChat练练手.源码公开在Coding上: 编写一个基于Java NIO的多人在线聊天工具,需要以下几方面的知 ...

  2. java网上商城外文翻译_《外文翻译--基于Java的网上商城系统的设计与实现》毕业学术论文.doc...

    毕业设计(论文)外文翻译 题目:基于Java的网上商城系统的设计与实现 院 (系): 专 业: 班 级: 学 生: 学 号: 指导教师: 2012年 03 月09日 English Only Java ...

  3. 图像五值化与基于三值图像的车牌识别(1)

    庆祝2011年新年 张忠义 海口愚佬会教育科技有限公司 全文下载 www.yulaohui.com/color5_2/ 摘 要:      图像五值化是通过公式Y =(R+G)/2,将RGB空间映射到 ...

  4. Java小程序之球球大作战(基于Java线程实现)

    Java小程序之球球大作战(基于Java线程实现) 一.游戏基本功能: 1.自己的小球可以随着鼠标的移动而改变坐标: 2.敌方小球不断的在界面中移动 3.当检测到敌方小球相互碰撞时,小球会弹开 4.当 ...

  5. 2的负x次幂图像_函数y=2的x次方与y=x的2次方的图象的 – 手机爱问

    2010-10-23 函数图象画出函数y=e的x次方+e的- 解:y=e的x次方+e的-x次方/e的x次方-e的-x次方 因为 分母不为0 所以 e的x次方 不等于 e的-x次方 x<>0 ...

  6. python函数加点_函数

    函数的作用 函数的作用:就是将实现某一个功能的代码封装到一个称为'函数'的模块之中 定义函数 在Python之中使用 def 关键字来定义,当函数执行完的时候应当使用return 关键字来返回一个结果 ...

  7. java反射获取方法内部_公共技术点之 Java 反射 Reflection

    本文为 Android 开源项目源码解析 公共技术点中的 Java 反射 部分 分析者:Mr.Simple,校对者:Trinea,校对状态:未完成 1. 了解 Java 中的反射 1.1 什么是 Ja ...

  8. java webservice报文过长_工作1-5年的Java程序猿到底需要怎样的一个技术栈?

    工作1-5年的Java程序猿到底需要怎样的一个技术栈? 前言: 具有1-5年开发经验的程序员 需要学习的内容其实还有很多很多. 今天跟大家交流一下希望分享出来的对大家能够有帮助,这是我这些年总结出的一 ...

  9. java代码删除文件夹_删除文件夹的java类

    /** * @author www.nwu.edu.cn MiniRice * @author darkrice@gmail.com * @version    1.2 * */ http://www ...

最新文章

  1. log4j.properties配置总结
  2. 计算机简单游戏有什么用,简单又好玩的互动游戏 简单又好玩的互动游戏有哪些...
  3. JavaScript语法详解(三)
  4. ios 获取沙盒文件名_获取IOS各种沙盒路径的方法
  5. XCode8 App上传AppStore更新
  6. Redis 高负载下的中断优化
  7. bind配置文件解析
  8. ROS学习笔记(八): ROS通信架构
  9. 反病毒软件技术简析与探索(2009年5月18日)
  10. c语言中读和写的作用,C语言中对文件最基本的读取和写入函数
  11. 深入TextCNN(一)详述CNN及TextCNN原理
  12. 第三:启发式搜索:A* 算法
  13. CentOS7虚拟机克隆,且成功互ping
  14. windows 搭建简单c++环境【mingw】
  15. 东南亚跨境电商shopee平台,教你轻松打造高销量品牌店铺!
  16. Office2016专业版打开超链接时提示“您的组织策略阻止我们为您完成此操作。...”问题解决
  17. 社会工程学攻击案例-网站钓鱼
  18. Java工程师成神之路 | 2020正式版
  19. 视频直播连麦技术详解
  20. 大数据时代电视剧市场的价值观转型

热门文章

  1. 订单系统开发(仿淘宝和美团网) 之 项目总结(一)
  2. 橄榄山350-423的插件,部分实现
  3. Spring Authorization Server入门 (三) 集成流程说明、细节补充和各种方式获取token测试
  4. mail 465邮件发送案例
  5. 车载电台天线按装示意图
  6. 【组件】24系列EEPROM/FRAM通用接口
  7. Python数据分析补充:数据的分组与汇总(数据透视)
  8. 【分支限界法】最大团问题
  9. ufo末日余晖java下载_幽浮:末日余晖下载(UFO: Afterlight)完整中文硬盘版-乐游网游戏下载...
  10. 世链财经|区块链资讯平台有何不同?怎么选择合适的平台