import java.awt.*;
import java.awt.geom.*;
import javax.imageio.ImageIO;
import javax.swing.*;
public class PaintDemo extends JApplet {
public PaintDemo() {
add(new ShapePanel());
}
class ShapePanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setPaint(new GradientPaint(10, 10, Color.RED, 40, 40,
Color.BLUE, true));
g2d.fill(new Rectangle2D.Double(10, 10, 90, 70));
g2d.setFont(new Font("Serif", Font.BOLD, 50));
g2d.drawString("GradientPaint", 10, 120);
g2d.translate(100, 0);
g2d.setPaint(new GradientPaint(10, 10, Color.YELLOW, 40, 40,
Color.BLACK));
g2d.fill(new Rectangle2D.Double(10, 10, 90, 70));
g2d.translate(100, 0);
g2d.setPaint(Color.YELLOW);
g2d.fill(new Rectangle2D.Double(10, 10, 90, 70));
try {
java.net.URL url =
getClass().getClassLoader().getResource("image/ca.gif");
java.awt.image.BufferedImage image = ImageIO.read(url);
TexturePaint texturePaint = new TexturePaint(image,
new Rectangle2D.Double(10, 10, 100, 70));
g2d.translate(130, 0);
g2d.setPaint(texturePaint);
g2d.fill(new Ellipse2D.Double(10, 10, 100, 70));
texturePaint = new TexturePaint(image,
new Rectangle2D.Double(10, 10, 50, 70));
g2d.translate(110, 0);
g2d.setPaint(texturePaint);
g2d.fill(new Ellipse2D.Double(10, 10, 100, 70));
texturePaint = new TexturePaint(image,
new Rectangle2D.Double(10, 10, 50, 35));
g2d.translate(110, 0);
g2d.setPaint(texturePaint);
g2d.fill(new Ellipse2D.Double(10, 10, 100, 70));
g2d.drawString("TexturePaint", -190, 120);
}
catch (java.io.IOException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
PaintDemo applet = new PaintDemo();
applet.init();
applet.start();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("PaintDemo");
frame.getContentPane().add(applet, BorderLayout.CENTER);
frame.setSize(700, 160);
frame.setVisible(true);
}
}