java面向对象课程大作业Word文档下载推荐.docx
- 文档编号:16167655
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:14
- 大小:144.07KB
java面向对象课程大作业Word文档下载推荐.docx
《java面向对象课程大作业Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java面向对象课程大作业Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
Imageimg,img1,img2,img3;
//
//添加图片的方法一
img=getImage(getCodeBase(),"
1.jpg"
);
//初始化操作,将图像"
装入img中
img1=getImage(getCodeBase(),"
2.jpg"
装入img1中
img2=getImage(getCodeBase(),"
9.gif"
9.jpg"
装入img2中
img3=getImage(getCodeBase(),"
7.gif"
7.jpg"
装入img3中
g.drawImage(img,xcenter-54,ycenter-54,109,109,this);
//将img显示在表盘的窗口中//
g.drawImage(img1,10,220,680,330,this);
//继续将img1显示在盘外的窗口中
g.drawImage(img2,420,10,this);
g.drawImage(img3,140,10,this);
//添加图片的方法二
Toolkittoolkit=Toolkit.getDefaultToolkit();
img=toolkit.getImage("
//图片的背景
g.drawImage(img,xcenter-54,ycenter-54,109,109,this);
img1=toolkit.getImage("
g.drawImage(img1,10,220,680,330,this);
img2=toolkit.getImage("
//动态图片
img3=toolkit.getImage("
(2)参考书本知识,我对窗口添加的格言和数字时间的汉字进行了字体和颜色的改换(可以让自己对自己的闹钟个性化):
g.setFont(newFont("
/*Monospaced/Dialog/Arial*/TimesnewRoman"
Font.BOLD/*PLAIN*/,14));
//设置字体
g.setColor(Color.blue);
//该语句使下面格言字体呈颜色为blue
g.drawString("
先相信自己,然后别人才会相信你。
——罗曼¡
¤
罗兰"
20,20);
//在小程序窗口显示文字//
(3)参考了书本,并结合其他代码。
我又添加了两种方法的音乐【背景音乐和钟表的伴奏声】:
//第一种方法
//play(getDocumentBase(),"
六月的雨.mid"
//播放背景音乐"
六月的雨.wav"
播放一遍
//第二种方法
AudioClipclip;
//在下面循环播放歌曲是的定义
clip=getAudioClip(getCodeBase(),"
六月的雨.mid"
//添加背景声音
clip.play();
//循环播放//循环播放歌曲的功能
clip.loop();
//循环播放
//play(getDocumentBase(),"
DeviceFailed.wav"
//播放音乐"
与秒针同步的声音//
(4)在播放背景音乐的基础上,我有添加了闹铃功能:
Ints,m,h:
if(s==00){if(m==20){if(h==06)
play(getDocumentBase(),"
暗香.mid"
//播放音乐"
暗香.mid"
}}
(5)由于指针的运动会导致窗口汉字符号随着repaint()和刷新二产生闪烁,所以又添加克服屏幕闪烁的两种方法,其中双缓冲的比较好。
/*克服屏幕闪烁的方法一*/
publicvoidupdate1(Graphicsg)
{paint(g);
}
/*克服屏幕闪烁的方法二*/
/*双缓冲技术*/
ImageoffImage;
GraphicsoffGraphics;
publicvoidupdate(Graphicsg)
{
if((offGraphics==null)){
offImage=createImage(getWidth(),getHeight());
offGraphics=offImage.getGraphics();
}
offGraphics.setColor(getBackground());
offGraphics.fillRect(0,0,getWidth(),getHeight());
paint(offGraphics);
g.drawImage(offImage,0,0,null);
双缓冲实现过程如下:
1、在内存中创建与画布一致的缓冲区
2、在缓冲区画图
3、将缓冲区位图拷贝到当前画布上
4、释放内存缓冲区
(6)由于Applet在网页上运行的局限性,所以我添加该段使其实现在应用程序中使用。
/*使该程序可以作为应用程序运行*/
publicstaticvoidmain(Stringargs[]){
Clockapplet=newClock();
JFrameframe=newJFrame("
TextAreaNew"
frame.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}});
frame.getContentPane().add(
applet,BorderLayout.CENTER);
frame.setSize(800,400);
applet.init();
applet.start();
frame.setVisible(true);
体会与总结:
通过平时大作业的积累,我发现平时的理论学习远远不够,通过大作业,我对JAVA有了更多的理解和兴趣。
在程序中我通过对源程序的理解和更改,添加了一些图片,音乐,闹铃,双缓冲等小功能,实现了自己想要的目的。
在试验过程中对一些小错误(平时落下的小毛病)也更加加深了对一些语据的了解,比如绘图的格式,类的继承,语句的摆放位置对程序的影响,有时候一个小错误,一发牵动全身。
使用双缓冲即是一个挑战又是一种兴奋。
刚刚开始怎么使用都错,先是语句的错误,后是图案的出现不了,甚至使用了双缓冲也达不到效果,经过资料的查询,例子的模仿,才对此有了一些了解,在print()和update()引起的,同时也慢慢熟悉整个来龙去脉。
还有对线程的理解也多了一些,对事件的监听,虽然用的很少,但也或多或少地了解了一些。
由于Applet是网页的向导,所以对html文件的编写存在不足。
局限性也就存在了。
这次的大作业,我在Applet上得到了很大的收获,也让我对自己的专业深入地接近了。
程序代码如下:
//Clock.java利用动画技术制作时钟
importjava.awt.*;
//importjava.awt.event.ActionEvent;
//importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjava.util.*;
importjava.applet.*;
importjava.text.SimpleDateFormat;
//importjava.awt.event.*;
importjava.applet.AudioClip;
importjavax.swing.JFrame;
publicclassClockextendsAppletimplementsRunnable//由Runnable接口实现Clock类
{
privateThreadtimer=null;
privateintlastxh,lastyh,lastxm,lastym,lastxs,lastys;
//时分秒针线的位置
privateSimpleDateFormatsdf;
//日期格式
Imageimg,img1,img2,img3;
//声明Image类型的变量img,img1,img2,img3;
AudioClipclip;
//声明AudioClip接口类型的变量Clip;
publicvoidinit()//init()方法,当Applet激活时被第一个调用的方法。
只运行一次,主要是对Applet设置初值之用
{
setSize(700,525);
//自己设置了窗口大小
//下面两种播放音乐的方法
//添加背景音乐的方法一
//play(getDocumentBase(),"
//播放一遍
//添加背景音乐的方法二
clip=getAudioClip(getCodeBase(),"
//添加背景声音//
//clip.play();
//yici播放//循环播放歌曲的功能
clip.loop();
/**/
lastxs=lastys=lastxm=lastym=lastxh=lastyh=0;
setBackground(Color.white);
//设置小程序窗口背景为白色
sdf=newSimpleDateFormat("
yyyy年MM月dd日ahh时mm分ss秒EEEEE"
//下面的语句是设定文字日期的显示格式
publicvoidpaint(Graphicsg)//显示数字和图形时钟
intxh,yh,xm,ym,xs,ys,s,m,h,xcenter,ycenter;
//定义变量
Calendarcal=Calendar.getInstance();
//生成一个日历类对象
Datesdate=newDate();
//获取当前日期和时间
Stringtoday=sdf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面向 对象 课程 作业