Java图形与文本(1)

1.1 绘制图形和文本

实例001  绘制直线

在几何中,直线是向两端无限延伸的,本实例所说的绘制直线,实际上是绘制直线上两点之间的线段,线段在实际生产和生活中经常使用。运行程序,将在窗体上绘制线段,效果如图1.1所示。

设计过程

 (1)新建一个项目。

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

 (3)在DrawLineFrame窗体类中创建内部面板类DrawLinePanel,并重写JComponent类的paint()方法,在该方法中使用Graphics类的drawLine()方法绘制直线。

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

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

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

        g.drawLine(70, 50, 180, 50);     // 绘制第1条水平线

        g.drawLine(70, 80, 180, 80);     // 绘制第2条水平线

        g.drawLine(110, 10, 140, 120);  // 绘制斜线

    }

}

 

秘笈心法

心法领悟001:通过绘制直线可以实现画图板的功能。

在绘制直线时,如果两个端点间的距离很近,就相当于画了一个点,根据这个特点,可以在鼠标指针移动的路径上连续画点,完成各种图形的绘制,从而实现画图板的功能。

实例002  绘制矩形

实例说明

矩形在实际生产和生活中经常使用,例如书桌的桌面、房屋的门窗等,本实例将通过绘制矩形让读者初步了解Java绘图技术。运行程序,将在窗体上绘制矩形,效果如图1.2所示。

关键技术

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

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

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

参数说明

? x:矩形左上角的x坐标。

 y:矩形左上角的y坐标。

 width:矩形的宽度。

x height:矩形的高度。

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

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

参数说明

? x:填充矩形左上角的x坐标。

y:填充矩形左上角的y坐标。

 width:填充矩形的宽度。

x height:填充矩形的高度。

 

读书导航