下面我们先上代码:

 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. CSS传统布局之display属性+float属性+position属性

    这三个属性是传统网页布局中经常用到的属性. 读这篇文章之前,希望你对css布局模型已经有了一定的了解.因为本文的三个属性是和css三个布局模型紧密联系在一起的.因此,如若你并不了解,我推荐你先看一下c ...

  2. Android Binder机制原理(史上最强理解,没有之一)(转)

    原文地址: http://blog.csdn.net/universus/article/details/6211589 Binder是Android系统进程间通信(IPC)方式之一.Linux已经拥 ...

  3. 如何用脚本快速修改IP地址(Netsh)

    如何用脚本快速修改IP地址(Netsh) 如果通过Windows的网络属性修改Ip/网关,真是太麻烦了.最近一个项目经常要切换ip,所以我写了两个脚本:c:\116.bat netsh interfa ...

  4. 十四、oracle 数据库管理--管理表空间和数据文件

    一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...

  5. 9---PIP 管理工具的使用

    Python 不仅有强大的内置模块,还提供强大的三方模块. 官方网站: https://pypi.python.org/pypi 要适用三方的模块需要使用pip管理工具. 1.在安装pip前,请确认w ...

  6. webform在页面生成的代码与事件回传

    <script type="text/javascript"> //<![CDATA[ var theForm = document.forms['form1'] ...

  7. VirtualBox中安装CentOS(新手教程)

    1.VirtualBox下载 官网:http://www.virtualbox.org/wiki/Downloads 下载好之后,一路下一步安装即可 2.CentOS下载 官网:https://www ...

  8. 《剑指Offer》算法题——“旋转数组”的最小数字

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减序列的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数 ...

  9. .NET下,关于文件夹权限设置的小细节

    InheritanceFlags 指定哪些接受权限继承 InheritanceFlags.ContainerInherit 下级文件夹要继承权限. InheritanceFlags.None 下级文件 ...

  10. MFC中组合框CComboBox的使用

    假如添加三行数据,其中当选择前两行时,提示自定义提示框信息,选择第三行时,提示当前字符串的内容,实现如下: void Cuse_demo_dllDlg::OnCbnSelchangeCombo1(){ ...