下面我们先上代码:

 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工程开发之图形化界面之(第一课)的更多相关文章

  1. java工程开发之图形化界面之(第二课)

    上一节主要是讨论小的应用程序,在这里我们将采用一种全新的方式来重新编写它. 在这里我们注重关注JFrame和JOptionPane.这些类提供了在JAVA应用程序使用图形的方法以及在JAVA程序中对I ...

  2. java工程开发之图形化界面之(第五课)

    下面我们将: 一)更加完整的解释Graphics类 二)使用方法来更清晰的重新编写前面图形小应用程序之一 三)介绍一些其他的绘图的方法 四)介绍方法init,它是类似于paint但是用于不同用途的另一 ...

  3. java工程开发之图形化界面之(第四课)

    本节中,我们将创建一个小应用程序,它使用循环生成其图案.我们将使用if语句和setColor方法.同时我们将介绍drawString方法,并使用它在小应用程序窗口中写出文本. 下面的小应用程序是显示一 ...

  4. java工程开发之图形化界面之(第三课)

    上面我们讲述了通过JOptionPane进行文本I/O操作,一个是通过JOptionPane来获取的 参考链接:http://blog.sina.com.cn/s/blog_993d254201013 ...

  5. 黑马程序员:Java基础总结----GUI图形化界面

    黑马程序员:Java基础总结 GUI图形化界面   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流!   GUI(Graphical User Interface)图形化界 ...

  6. Java 图形化界面设计(GUI)实战练习(代码)

    关于Java图形化界面设计,基础知识网上可搜,下面简单介绍一下重点概念,然后就由浅入深代码实例. 程序是为了方便用户使用的,Java引入图形化界面编程. 1.JFrame 是容器类 2.AWT 是抽象 ...

  7. 转:二十七、Java图形化界面设计——容器(JFrame)

    转:http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的, ...

  8. 二十七、Java图形化界面设计——容器(JFrame)

    摘自http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计--容器(JFrame) 程序是为了方便用户使用的, ...

  9. Java图形化界面设计——容器(JFrame)

    Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构 ...

随机推荐

  1. MemoryStream 转 pdf

    在项目开发中用到将MemoryStream 转pdf,在转化过程中需要建了一个.dom格式的模板,先保存为.doc文件,然后再转换为.pdf. 有一个插件感觉好不错,给大家推荐一下. dll下载链接  ...

  2. 美化type="file"控件

    对于type="file"而言是一个不大好看的控件.如果不美化他一下,总感觉自己的网站有些缺乏了美感 上代码: <!DOCTYPE html> <html> ...

  3. DPI与PPI

    首先应该明白几个概念: 1寸=3.3333333厘米(cm)1英寸(in)=2.54厘米(cm)屏幕尺寸: 屏幕对角线的长度.电脑电视同理.LCD是由液态晶体组成的显示屏(本向不发光) 有于电脑手机显 ...

  4. Alyona and mex

    Alyona and mex time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  5. CentOS环境搭建(JDK安装、mysql安装、hadoop安装等)

    1.1准备权限:让普通用户具备sudo执行权限 切换到root用户,su # vi /etc/sudoers/ 添加  koushengrui    ALL=(ALL)       ALL 这里很容易 ...

  6. OC-之NSDate、万年历

    万年历计算星期-基姆拉尔森公式 #include /* * 基姆拉尔森计算公式* W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7*/int week(int ...

  7. 【第三篇】学习 android 事件总线androidEventbus之发布事件,子线程中接收

    发送和接收消息的方式类似其他的发送和接收消息的事件总线一样,不同的点或者应该注意的地方: 1,比如在子线程构造方法里面进行实现总线的注册操作: 2,要想子线程中接收消息的功能执行,必须启动线程. 3, ...

  8. 查看apk包及Activity名方法

    查看apk包名方法activity名: 方法一: aapt dump badging +客户端包所在路径+客户端包名称 如: aapt.exe dump badging K:\Apk\fanxing. ...

  9. JS进阶书籍

    http://blog.csdn.net/bingqingsuimeng/article/details/40535291 本来想尝试每天回答或看已解决的3个问题来学习总结今天的知识点,看了下博文里面 ...

  10. java中list集合的内容,如何使用像数据库中group by形式那样排序

    java中list集合的内容,如何使用像数据库中group by形式那样排序,比如:有一个 List<JavaBean> 他中包含了一些如下的内容JavaBean:name    mone ...