Java tutorial
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; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JTextField; public 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); } public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextField textfield = new WatermarkTextField(new File("waterMarkImage.png")); textfield.setText("www.java2s.com"); frame.getContentPane().add(textfield); frame.pack(); frame.setVisible(true); } }