java工程开发之图形化界面之(第一课)
下面我们先上代码:
package 一个事例图形小应用程序;
import javax.swing.JApplet;
import java.awt.Graphics; public class 绘制图形 extends JApplet{
public void paint(Graphics canvas){
canvas.drawOval(100,50,200,200);
canvas.fillOval(155, 100, 10, 20);
canvas.fillOval(230,100,10,20);
canvas.drawArc(150, 160, 100, 50, 180, 180);
}
}
首先它和其它所有的小应用程序一样使用了Swing库(包)中的类JApplet
同时,它也使用了来自AWT库的类Graphics。除了Swing库中的类之外,小应用程序经常使用AWT库中的类。
下一个语句行pubilc class HappyFace extends JApplet
以用于该小应用程序的类定义开始,它被命名为HappyFace。单词extends JApplet指明我们正在定义一个小程序(继承),而不是其它类型的类。
这个小应用程序包含一个方法——paint,其定义下述语句开始:
public void paint(Graphics canvas)
paint方法指定在这个小应用程序中绘制什么图形。当小应用程序运行时paint方法被自动的调用。
现在先解释一下:
canvas.drawOval(100,50,200,200);
是用来构成脸部图形的。前两个数字说明圆绘制在屏幕上的什么位置。后两个数字是用来绘制椭圆的长轴和短轴的长度。这些数字的单位是用像素进行定义的。
canvas.fillOval(155, 100, 10, 20);
canvas.fillOval(230,100,10,20);
这两句话是用来绘制眼睛的。fillOver的意思是调用了一个填充了的椭圆。
最后一句当然是用来绘制嘴巴的。
在这里简单解释一下绘制椭圆和圆的一些基本知识:
canvas.drawOval(100,50,90,50)绘制的,前两个数字是坐标,后两个数字是长短半轴。也就是drawOval和fillOver两个方法。
绘制弧形:canvas.drawArc(150,160,100,50,180,180);
前两个参数给定不可见的矩形的位置。这个矩形左上角在点(150,160)上。下两个参数指定矩形的大小:该矩形的宽度为100,高度为50.再组个不可见的矩形内部,想象一个与不可见矩形拥有相同宽度和高度的不可见椭圆。后两个参数指定这个不可见椭圆的可见部分。
drawArc的倒数第二个参数指定了起始角度,以度为单位。最后一个参数指定椭圆的弧线将持续多少度是可见的。椭圆水平线最右端的端点为0度。随着你以反时针方向移动椭圆边缘,度数逐渐增大。起始角度即为开始的角度,而后面的参数+-代表的是方向,数值代表的是弧长对应的度数。
java工程开发之图形化界面之(第一课)的更多相关文章
- java工程开发之图形化界面之(第二课)
上一节主要是讨论小的应用程序,在这里我们将采用一种全新的方式来重新编写它. 在这里我们注重关注JFrame和JOptionPane.这些类提供了在JAVA应用程序使用图形的方法以及在JAVA程序中对I ...
- java工程开发之图形化界面之(第五课)
下面我们将: 一)更加完整的解释Graphics类 二)使用方法来更清晰的重新编写前面图形小应用程序之一 三)介绍一些其他的绘图的方法 四)介绍方法init,它是类似于paint但是用于不同用途的另一 ...
- java工程开发之图形化界面之(第四课)
本节中,我们将创建一个小应用程序,它使用循环生成其图案.我们将使用if语句和setColor方法.同时我们将介绍drawString方法,并使用它在小应用程序窗口中写出文本. 下面的小应用程序是显示一 ...
- java工程开发之图形化界面之(第三课)
上面我们讲述了通过JOptionPane进行文本I/O操作,一个是通过JOptionPane来获取的 参考链接:http://blog.sina.com.cn/s/blog_993d254201013 ...
- 黑马程序员:Java基础总结----GUI图形化界面
黑马程序员:Java基础总结 GUI图形化界面 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! GUI(Graphical User Interface)图形化界 ...
- Java 图形化界面设计(GUI)实战练习(代码)
关于Java图形化界面设计,基础知识网上可搜,下面简单介绍一下重点概念,然后就由浅入深代码实例. 程序是为了方便用户使用的,Java引入图形化界面编程. 1.JFrame 是容器类 2.AWT 是抽象 ...
- 转:二十七、Java图形化界面设计——容器(JFrame)
转:http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的, ...
- 二十七、Java图形化界面设计——容器(JFrame)
摘自http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计--容器(JFrame) 程序是为了方便用户使用的, ...
- Java图形化界面设计——容器(JFrame)
Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构 ...
随机推荐
- Set下面HashSet,TreeSet和LinkedHashSet的区别
Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false.Set判断两个对象相同不是使用==运算符,而是根据equals方法.也就是说,只要两个对象用eq ...
- Oracle Day2 过滤、排序、单行函数
1.过滤和排序 SQL> --查询10号部门的所有员工信息 SQL> select * from emp ; 未选定行 SQL> ed SP2: 无法创建保存文件 "afi ...
- javaScript中的一些知识
利用js动态生成table <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http ...
- HDU 5823 color II
dp[i]表示i子图的最小染色数目. dp[i]=min( dp[i], dp[j]+1 ), j是i的子集,并且j图内的点没有边相连. 高效率枚举i子集的方法:for(int j=i;j;j=(j- ...
- 标准IO库
IO标准库类型和头文件
- VBS基础篇 - 循环语句(3) - For...Next
VBS基础篇 - 循环语句(3) - For...Next 指定循环次数,使用计数器重复运行语句,语法结构如下: 1 2 3 4 5 For counter = start To end [Ste ...
- unity3d继续尝试
这一次完成了一些复杂的脚本,会了一些简单的鼠标事件,这样就能使用鼠标进行简单的交互了. 其实右边栏目上面一些奇怪的属性看的我是眼花缭乱. 也不知道干啥用的,还有就是真的很佩服里面的物理引擎确实简单易上 ...
- 公司用中会用到的iOS开源库和第三方组件(不断更新...)
分享一些目前我个人接触到的一些第三方组件和开源的库, 感谢开源, 减少了我们的开发成本, 节约了我们大量的时间, 让我们有更多的时间和精力专注做我们自己的产品.总有没有接触过的 , 总有你会用到的 , ...
- Global事件执行顺序
Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看 ...
- Nginx配置性能优化与压力测试webbench【转】
这一篇我们来说Nginx配置性能优化与压力测试webbench. 基本的 (优化过的)配置 我们将修改的唯一文件是nginx.conf,其中包含Nginx不同模块的所有设置.你应该能够在服务器的/et ...