201711671233《Java程序设计》第14周学习总结
一、教程学习内容总结
这周主要学习了绘制基本图形,图形的布尔运算,绘制钟表,绘制图像,播放音频。
(一)绘制基本图形
直线:起点(x1,y1),终点(x2,y2)
new Line2D.Double(double x1,double y1,double x2,double y2);
矩形:左上角坐标(x,y),宽w,高h
new Rectangle2D.Double(double x,double y,double w,double h);
圆角矩形:左上角坐标(x,y),宽w,高h,圆角的长轴和短轴分别是arcw和arch
new RoundRectangle2D.Double(double x,double y,double w,double h);
椭圆:左上角坐标(x,y),宽w,高h
new Ellipse2D.Double(double x,double y,double w,double h);
绘制圆弧:
new Arc2D.Double(double x,double y,double w,double h,double start,double extent,double type);
(二)变换图形
可以用Affine Transform类来实现图形的平移、缩放和旋转。
(三)图形的布尔运算
布尔“与”(AND):两个图形重叠部分。
布尔“或”(OR):两个图形的合并。
T1与T2的布尔“差”(NOT):T1去掉T1和T2重叠部分。
布尔“异或”:两个图形的非重叠部分。
两个图形进行布尔运算之前,必须分别用这两个图形创建两个Area区域对象。
(四)绘制钟表
圆心(0,0),定圆上一点(x,y),顺时针旋转α弧度后的坐标(m,n),有:
m = xcos(α) - ysin(α)
n = ycos(α) + xsin(α)
(五)绘制图像
组件上可以显示图像,可以使用Icon类的子类ImageIcon创建封装 名字.jpg图像文件的IconImage对象,再让组件调用方法设置其上的图像(显示图像)。
Graphics绘制图像:
1、加载图像:Tollkit类的对象调用方法Image getImage(String fileName)或Image getImage(File file)返回一个Image对象,该对象封装参数file或参数fileName指定的图像文件。
2、绘制图像:图像被加载之后,即被封装到Image实例中后,可以在paint()方法中绘制他了。
(六)播放音频
Java可以编写播放.au、.aiff、.wav、.midi、.rfm格式的音频程序。
假设音频文件hello.wav位于应用程序当前目录中,播放音频步骤如下:
1、创建File对象:File musicFile = new File(“hello.wav”);
2、获取URI对象:URI uri = musicFile.toURI();
3、获取URL对象:URL url = uri.toURL();
4、创建音频对象:AudioClip clip = Applet.newAudioClip();
5、播放、循环和停止:
clip.play();开始播放
clip.loop();循环播放
clip.stop();停止播放
二、学习进度条
| 代码行数 (新增/累计) | 博客量 (新增/累计) | 学习时间 (新增/累计) |
目标 | 2500行 | 10篇 | 200小时 |
第一周 | 30 | 1 | 10 |
第二周 | 30/60 | 1/2 | 10/20 |
第三周 | 30/90 | 1/3 | 10/30 |
第四周 | 30/120 | 1/4 | 10/40 |
第五周 | 30/150 | 1/5 | 10/50 |
第六周 | 30/180 | 1/6 | 10/60 |
第七周 | 50/230 | 1/7 | 10/70 |
第八周 | 100/330 | 1/8 | 10/80 |
第九周 | 100/430 | 1/9 | 10/90 |
第十周 | 200/630 | 1/10 | 10/100 |
第十一周 | 270/900 | 1/11 | 10/110 |
第十二周 | 300/1200 | 1/12 | 10/120 |
第十三周 | 300/1500 | 1/13 | 10/130 |
第十四周 | 300/1800 | 1/14 | 10/140 |
三、参考资料
Java2实用教程(第5版)