Academic Java    Java Tutorial  >  Graphics  >  TexturePaint

TexturePaint Example

Java TexturePaint EXAMPLE output A round rectangle and some text is rendered using textured paint.

The class TexturePaint constructs a paint that can be used as an outline or filler for a shape, including text.
// TexturePaint Example
import java.awt.*;
import java.awt.image.*;
import java.awt.geom.*;
import javax.swing.*;

class TexturePaintExample extends JApplet {

   @Override public void paint(Graphics g) {
      super.paint(g);
      Graphics2D g2 = (Graphics2D)g;

      int imW=15, imH=15;
      BufferedImage im = new BufferedImage(imW,imH,BufferedImage.TYPE_INT_RGB);
      Graphics2D g2im = im.createGraphics();

      g2im.setColor(new Color(192,192,192));
      g2im.fillRect(0,0,imW,imH);
      g2im.setColor(Color.blue);
      g2im.fillOval(imW/8,imW/8,3*imW/4,3*imH/4);
      g2im.setColor(Color.red);
      g2im.setStroke(new BasicStroke(2));
      g2im.drawLine(0,0,imW,imH);
      g2im.drawLine(0,imH,imW,0);

      TexturePaint tp = new TexturePaint(im, new Rectangle(imW,imH));

      g2.setPaint(tp);
      g2.fill(new RoundRectangle2D.Float(75,20,150,200,30,30));

      g2.setFont(new Font("Verdana",Font.BOLD,24));
      g2.drawString("Here's the text",10,260);

   }
}