實例010 繪制文本
實例說明
本實例演示如何在Java中繪制文本。運行程序,將在窗體上繪制文本,效果如圖1.10所示。
關鍵技術
本實例主要是通過在JPanel類的子類中,重寫JComponent類的paint()方法,并在該方法中使用Graphics類的drawString()方法來實現(xiàn)的。
drawString()方法的定義如下:
public abstract void drawString(String str, int x, int y)
參數(shù)說明
? str:繪制的文本內容。
? x:繪制點的x坐標。
? y:繪制點的y坐標。
設計過程
(1)新建一個項目。
(2)在項目中創(chuàng)建一個繼承JFrame類的DrawTextStringFrame窗體類。
(3)在DrawTextStringFrame窗體類中,創(chuàng)建內部面板類DrawTextStringPanel,并重寫JComponent類的paint()方法,在該方法中使用Graphics類的drawString()方法繪制文本。
(4)將內部面板類DrawTextStringPanel的實例,添加到窗體類DrawTextStringFrame的內容面板上,用于在窗體上顯示繪制的文本,代碼如下:
class DrawTextStringPanel extends JPanel { // 創(chuàng)建內部面板類
public void paint(Graphics g) { // 重寫paint()方法
String value = "靜夜思";
int x = 120; // 文本位置的橫坐標
int y = 30; // 文本位置的縱坐標
g.drawString(value, x, y); // 繪制文本
//省略部分代碼
}
}
秘笈心法
心法領悟010:水印文字的實現(xiàn)。
對于一些有可能侵權的圖片,或者要作為宣傳的圖片,可以通過使用drawString()方法,將用到的文字繪制到圖片上,從而得到所謂的“水印文字”。