Water mark text field in Java
Description
The following code shows how to water mark text field.
Example
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.TexturePaint;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
// w w w. j a v a 2s.c o m
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Main {
public static void main(String[] argv) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextField textfield = new WatermarkTextField(new File("a.gif"));
textfield.setText("www.java2s.com");
frame.getContentPane().add(textfield);
frame.pack();
frame.setVisible(true);
}
}
class WatermarkTextField extends JTextField {
BufferedImage img;
TexturePaint texture;
public WatermarkTextField(File file) {
super();
try {
img = ImageIO.read(file);
} catch (IOException e) {
e.printStackTrace();
}
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);
}
}
Home »
Java Tutorial »
Swing »
Java Tutorial »
Swing »