实例010 绘制文本
实例说明
本实例演示如何在Java中绘制文本。运行程序,将在窗体上绘制文本,效果如图1.10所示。
关键技术
本实例主要是通过在JPanel类的子类中,重写JComponent类的paint()方法,并在该方法中使用Graphics类的drawString()方法来实现的。
drawString()方法的定义如下:
public abstract void drawString(String str, int x, int y)
参数说明
? str:绘制的文本内容。
? x:绘制点的x坐标。
? y:绘制点的y坐标。
设计过程
(1)新建一个项目。
(2)在项目中创建一个继承JFrame类的DrawTextStringFrame窗体类。
(3)在DrawTextStringFrame窗体类中,创建内部面板类DrawTextStringPanel,并重写JComponent类的paint()方法,在该方法中使用Graphics类的drawString()方法绘制文本。
(4)将内部面板类DrawTextStringPanel的实例,添加到窗体类DrawTextStringFrame的内容面板上,用于在窗体上显示绘制的文本,代码如下:
class DrawTextStringPanel extends JPanel { // 创建内部面板类
public void paint(Graphics g) { // 重写paint()方法
String value = "静夜思";
int x = 120; // 文本位置的横坐标
int y = 30; // 文本位置的纵坐标
g.drawString(value, x, y); // 绘制文本
//省略部分代码
}
}
秘笈心法
心法领悟010:水印文字的实现。
对于一些有可能侵权的图片,或者要作为宣传的图片,可以通过使用drawString()方法,将用到的文字绘制到图片上,从而得到所谓的“水印文字”。