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:填充矩形的高度。