玩Swing 沒(méi)點(diǎn)美感怎么行..嘿嘿 ^v^
怎么能沉迷與JTextField那種白色的背景呢???太單調(diào)的..看不出像我這么有美感的人..怎能讓它顯示出我認(rèn)為不好看的東西!!下面就來(lái)解決JTextFiled!! 為他添加水印!
代碼很簡(jiǎn)單:
效果圖:
文本也可以帥起來(lái)~~~~~~~
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Rectangle;
import java.awt.TexturePaint;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;


public class WatermarkTextField extends JTextField
{
BufferedImage img;
TexturePaint texture;

public WatermarkTextField(File file) throws IOException
{ //臨時(shí)就把異常往外拋了.
super(); //方法接收一個(gè)Image圖片文件.
img = ImageIO.read(file);
Rectangle rect = new Rectangle(0,0,
img.getWidth(null),img.getHeight(null));
texture = new TexturePaint(img, rect);
setOpaque(false);
}

public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(texture);
g.fillRect(0,0,getWidth(),getHeight());
super.paintComponent(g);
}
//Main類(lèi)我就不說(shuō)了
Java的基礎(chǔ).

public static void main(String[] args) throws Exception
{
JFrame frame = new JFrame("Watermark JTextField Hack");
frame.setLayout(new GridLayout(1,2));
JTextField textfield = new WatermarkTextField(new File("Image/水印.JPG"));
textfield.setForeground(Color.white);
textfield.setText("A Text Field");
textfield.setSize(120,30);
frame.getContentPane().add(textfield);
frame.getContentPane().add(new JButton("前面那家伙真漂亮"));
frame.setSize(250,60);
frame.setVisible(true);
}
}
