Oct 13

The TexturePaint class can be used to achieve that.


public void paintComponent(Graphics g)
{
   if(paint == null)
   {
      try
      {
          // Create TexturePaint instance the first time

          int height = image.getHeight(this);
          int width = image.getWidth(this);
          bi = (BufferedImage) createImage(width, height);
          Graphics2D biG2d = (Graphics2D) bi.getGraphics();
          biG2d.drawImage(image, 0, 0, Color.black, this);
          paint = new TexturePaint(bi, 
             new Rectangle(0,0,width,height));
      }
      catch (Exception ex)
      {
          ex.printStackTrace();
      }
   }

   // Now actually do the painting

   Graphics2D g2d = (Graphics2D) g;
   if(paint != null)
   {
      g2d.setPaint(paint);
      g2d.fill(g2d.getClip());
   }
} 

written by objects \\ tags: , , , ,


Leave a Reply

You must be logged in to post a comment.