Java图形与文本(3)

实例004  绘制椭圆

实例说明

本实例演示如何在Java中绘制椭圆。运行程序,将在窗体上绘制椭圆,效果如图1.4所示。

关键技术

本实例主要是通过在JPanel类的子类中,重写JComponent类的paint()方法,并在该方法中使用Graphics类的drawOval()和fillOval()方法来实现的。

(1)使用Graphics类的drawOval()方法绘制的椭圆,只有线条而没有填充色,该方法的定义如下:

public abstract void drawOval(int x, int y, int width, int height)

参数说明

? x:要绘制椭圆的左上角的x坐标。

? y:要绘制椭圆的左上角的y坐标。

? width:要绘制椭圆的宽度。

x height:要绘制椭圆的高度。

(2)使用Graphics类的fillOval()方法可绘制带填充色的椭圆,该方法的定义如下:

public abstract void fillOval(int x, int y, int width, int height)

参数说明

? x:要填充椭圆的左上角的x坐标。

? y:要填充椭圆的左上角的y坐标。

? width:要填充椭圆的宽度。

x height:要填充椭圆的高度。

设计过程

(1)新建一个项目。

(2)在项目中创建一个继承JFrame类的DrawEllipseFrame窗体类。

(3)在DrawEllipseFrame窗体类中,创建内部面板类DrawEllipsePanel,并重写JComponent类的paint()方法,在该方法中使用Graphics类的drawOval()和fillOval()方法绘制椭圆。

(4)将内部面板类DrawEllipsePanel的实例,添加到窗体类DrawEllipseFrame的内容面板上,用于在窗体上显示绘制的椭圆,代码如下:

class DrawEllipsePanel extends JPanel {   // 创建内部面板类

    public void paint(Graphics g) {       // 重写paint()方法

        g.drawOval(30, 20, 80, 50);      // 绘制空心椭圆

        g.drawOval(150, 10, 50, 80);     // 绘制空心椭圆

        g.fillOval(40, 90, 50, 80);       // 绘制实心椭圆

        g.fillOval(140, 110, 80, 50);     // 绘制实心椭圆

    }

}

秘笈心法

心法领悟004:通过Graphics类的drawOval()和fillOval()方法可以绘制圆形。

在绘制椭圆时,如果将drawOval()或fillOval()方法的后两个参数设置为相同的值,就可以绘制出圆形或填充的圆形。

 

读书导航