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