Java多媒体程序设计大作业的样本

课程: 课程: 题目: 题目: Java 多媒体程序设计 JPEG 图像生成器 班 学 姓 日 级: 号: 名: 期: 计算机科学 0402 0305040211 陈 立 2006.12 1

一、大作业目的 大作业目的 用面向对象语言 JAVA 完成一个应用系统的分析、设计和实施。

通过 课程设计掌握面向对象编程技术、GUI 编程、常用类库的使用和应用系统的 开发过程。

二、大作业题目描述和要求 大作业题目描述和要求 1.题目 . 设计一个“画图”软件,进行图形绘制并将绘制内容保存成 JPEG 格式文件,同时 也能将计算机屏幕显示内容保存成 JPEG 格式文件。

2.要求 . (1) JPEG 是被广泛使用的一种图像文件格式,本设计要求程序能将程序中绘制的图形 保存为 JPEG 格式文件。

(2) 有时人们需要获取计算机屏幕上显示的图像,本程序要求能将屏幕图像保存为 JPEG 格式文件。

(3) 进一步研究 Java 2D,使本“画图” 软件能绘制 2 次曲线、3 次曲线等更多功能。

3. 开发环境 JCreator + JDK1.4.2 三、系统分析 由于设计的是 JPEG 图像生成器,想到平时我们用的图像编辑器主要有三块组成,菜 单栏、画图用的工具栏及画板,而画图一般都是用鼠标对画板作用的过程。

因此设计该系统的初步思路就是首先需要定义图像生成器的界面窗口,其次就是往每 个按钮上添加触发器(如 ActionListener、MouseListener、MouseMotionListener) , 最后再用 JFileChooser 等类中有关方法完成对文件的保存与打开。

然而在实际操作的过程中,新的问题不断出现,这里只介绍最后的实现思路。

而对实 际中遇到的问题及解决方法将在第六大点介绍。

在画图的时候需将每次操作写入一缓冲图像以实现保存每次绘图结果,然后 在调用 画板的 repaint()方法对缓冲图像进行显示。

同样打开文件, 就是把文件中的二进制码读出来, 并转换为 JPEGImageDecoder 型,保存在缓冲图像中,在显示在画板上。

逆向考虑可知,对 JPREG 图像的保存就是把缓冲文件以 JPEGImageEncoder 型写入文件中。

而新建文件只是产 生空白文档。

对颜色和字体的设置,相对简单一些。

只需要在外层的大类中定义全局变量 color 与 font 即可。

对计算机屏幕的抓取也较简单,只需要定义 Robot 类的一个事例变量然后直接用 robot.createScreenCapture()方法抓屏幕到图像缓冲区再显示。

然而在画板的鼠标点击的位置添加文本框实现较复杂。

因为对 JPanel 类中方法并不熟 练,所以最后实现添加文字的方法是先提示用户输入,并保存输入,然后调用 g.drawString () 。

状态栏中显示的信息主要通过鼠标触发完成。

当某个鼠标发生时,只要更改状态 栏标签的文字即可。

2

最后就是帮助菜单的设置了。

考虑到大量的文字信息与程序本身没什么关系,若把它 直接放在程序中显示欠妥。

于是先把要显示的信息放入.txt 文件中,然后通过读文件的方法 给用户弹出帮助消息框。

四、系统设计 系统设计 1. 实现过程 (1) 界面窗口的定义: 该过程的重点是选择恰当的布局管理器把按钮与画板加入界面中, 使界面更美观。

因此 定义了 MyproductionPanel 面板类,该面板类中主要存放面板图标面板、画板面板及状态栏 面板。

因为图标面板与画板的高没一致性,设置状态栏在整个的底部较复杂,这里我使用了 GridBagLayout 布局管理器。

整体外观如下图 1: 图1 (2)添加器 按钮器 由于单击每个按钮后,对画板有不同的绘图或设置操作,所以我在大类中定义了 10 个属于类的静态常量和一个 draw 变量。

按钮除了 A 按钮要出现提示输入的对话框与喷 枪按钮出现选择喷枪类型的对话框(如下图 2) ,其余只是对 draw 变量的赋值。

对计算机屏 幕的抓取见图 5。

图2 3

画板上鼠标器 通过 draw 变量的不同值,由不同的鼠标,主要采用 switch 分支结构。

除了把每 次绘画内容写入缓冲图像再调用 huaban.repaint()外,还需对状态栏进行设置。

可实现的结果 如下图 3: 图3 菜单与菜单项器 (1)文件的操作。

新建即是产生新的空白画板。

打开与保存利用 JFileChooser 类实现。

单击相应的菜单项产生对话框,图 4 给出保存文件时的对话框。

(2)字体的设置。

通过定义 MyFontWindow 类实现对全局变量 font 的设置。

当用户要 设置字体时,单击编辑中的文字处理将弹出选择字体的对话框。

程序在 MyFontWindow 中 再添加实现把用户选择的字体及粗体等信息送入 font 中。

图 6 为选择字体的对话 框。

(3)帮助对话框的显示。

考虑到大量的文字信息与程序本身没什么关系,若把它直接 放在程序中显示欠妥。

于是先把要显示的信息放入.txt 文件中,然后用 RandomAccessFile 类 的实例变量完成对事先输入的文件读操作,再给用户弹出帮助消息框。

4

图4 (3)最后的完善阶段 该阶段主要是对程序进行整理。

能用一个函数实现且经常实现的代码应以函数的 形式出现,尽可能少的出现冗余代码。

该用一个类实现的变量与方法应定义新类。

等等,总之, 尽可能使程序简洁且思维清晰,层次明朗。

图 5(计算机屏幕抓取) (计算机屏幕抓取) 5

图6 2. 程序代码 //Jpeg.java package myclass; import java.awt.*; import java.awt.image.*; import java.awt.event.*; import java.awt.font.*; import java.awt.geom.*; import javax.swing.*; import java.io.*; import javax.imageio.stream.*; import javax.swing.filechooser.FileView; import javax.swing.filechooser.FileFilter; import com.sun.image.codec.jpeg.*; public class Jpeg extends JFrame{ static final int XIANGPI=1; static final int XIEZI=2; static final int TIANCHONG=3; static final int SHUAZI=4; static final int PEN=5; static final int RECT=6; static final int OVAL=7; static final int DUOBIANXING=8; static final int OPENFILE=9; static final int NEWFILE=10; private Color color=Color.white; private int draw; private Font font; private MyFontWindow fontFrame; private JMenuBar menuBar; private JMenu fileMenu,editMenu,colorMenu,helpMenu; private JMenuItem newItem,saveItem,openItem,wenziDesignItem, nexitItem,colorItem, functionItem,useItem,elseItem; 6

本文标题:Java多媒体程序设计大作业的样本, 搜寻更多关于“Java多媒体程序设计大作业的样本
链接地址:https://www.zlholdings.com/svt00wxuvsmrvmysv0yptsrz.html

相关内容
  • Java程序设计大作业

    Java程序设计大作业

    Java程序设计大作业...

    贡献者:网络收集
    356368
  • 《Java程序设计》大作业

    《Java程序设计》大作业

    《Java程序设计》大作业...

    贡献者:网络收集
    641859
  • Java编程大作业要求

    Java编程大作业要求

    Java编程大作业要求...

    贡献者:网络收集
    591278
  • java 程序设计  08-图形与多媒体

    java 程序设计 08-图形与多媒体

    java 程序设计 08-图形与多媒体...

    贡献者:网络收集
    579530
  • 《JAVA程序设计》大作业题目与要求

    《JAVA程序设计》大作业题目与要求

    《JAVA程序设计》大作业题目与要求...

    贡献者:网络收集
    396829
  • Java的多媒体与数据库编程

    Java的多媒体与数据库编程

    Java的多媒体与数据库编程...

    贡献者:网络收集
    351675
  • 《 Java程序设计》期末考试大作业

    《 Java程序设计》期末考试大作业

    《 Java程序设计》期末考试大作业...

    贡献者:网络收集
    42087
  • 《Java语言程序设计》多媒体课件简介

    《Java语言程序设计》多媒体课件简介

    《Java语言程序设计》多媒体课件简介...

    贡献者:网络收集
    902720
  • JAVA程序设计大作业要求

    JAVA程序设计大作业要求

    JAVA程序设计大作业要求...

    贡献者:网络收集
    798547
  • Java 多媒体编程

    Java 多媒体编程

    Java 多媒体编程...

    贡献者:网络收集
    711644
  • 网友在搜
    ladygaga的高跟鞋 豪斯医生 cuddy afreecatv女主播 vue和jquery adobe 2017 网盘 pg mk2多少钱 got7 meet greet 中字 哈登60分视频 百日告别迅雷下载 wii模拟器ios minbufferreadsize armen noircg 索尼c400测评 calcium 600mg d3 合肥美食伴你行 mediawiki 添加管理员 un cuento chino cool edit 加速 dota赛事中心 jvwuba com win32 rootkit 观察者uatu skin like sun 吴鹏 行政法讲义 下载 陕西省和湖北界 nick and stella win7截图下载 all right 一首歌 菲律宾allen视频 惠州龙门木 技术支持 完美老虎 联想z400参数 ds 2cc52d8t it3z 石河子农垦中专 伊兹密尔大巴站 js tofixed 2 string strcon 胃复安片 ps7界面 touchwiz 7.0启动器 waterpik wp 900w 拆 imm5645e merry me Ander fm2015editor 技嘉p43微码 美分兑换人民币 dotnet vue 苹果6s打电话不熄屏 香奈儿佩拉尔塔露西 百合熊岚 解读 jeep牧马人两门敞篷 sim4 origin目前 360购物平台 men jake porter 天文学家沙普利 新余市高新区漫画班子 浏览器 绿色精简版 imac pro显卡跑分

    声明:本站内容源于网络,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,请咨询相关专业人士。

    如果无意之中侵犯了您的版权,或有意见、反馈或投诉等情况, 联系我们:gdvz5820#163.com

    Copyright © 2017 All Rights Reserved 中仑资料网 手机站