43 import java.awt.Font;
44 import java.awt.FontMetrics;
45 import java.awt.Graphics2D;
46 import java.awt.Image;
47 import java.awt.RenderingHints;
48 import java.awt.event.ActionEvent;
49 import java.awt.event.ActionListener;
50 import java.awt.geom.GeneralPath;
51 import java.awt.geom.Path2D;
52 import java.awt.geom.PathIterator;
53 import java.awt.image.BufferedImage;
54 import java.io.BufferedReader;
55 import java.io.FileReader;
56 import java.util.ArrayList;
57 import java.util.List;
58 import java.util.logging.Level;
59 import java.util.logging.Logger;
60 import java2d.AnimatingControlsSurface;
61 import java2d.CustomControls;
62 import javax.swing.AbstractButton;
63 import javax.swing.JComboBox;
64 import javax.swing.JToggleButton;
65 import javax.swing.JToolBar;
66
67
68 /**
69 * Animated Bezier Curve shape with images at the control points.
70 * README.txt file scrolling up. Composited Image fading in and out.
71 */
72 @SuppressWarnings("serial")
73 public class BezierScroller extends AnimatingControlsSurface {
74
75 private static String[] appletStrs = { " ", "J2Ddemo",
76 "BezierScroller - Animated Bezier Curve shape with images",
77 "For README.txt file scrolling run in application mode", " " };
78 private static final int NUMPTS = 6;
79 private static Color greenBlend = new Color(0, 255, 0, 100);
80 private static Color blueBlend = new Color(0, 0, 255, 100);
81 private static Font font = new Font(Font.SERIF, Font.PLAIN, 12);
82 private static BasicStroke bs = new BasicStroke(3.0f);
83 private static Image hotj_img;
303 }
304
305 if (doImage) {
306 AlphaComposite ac = AlphaComposite.getInstance(
307 AlphaComposite.SRC_OVER, alpha);
308 g2.setComposite(ac);
309 g2.drawImage(img.getSubimage(imgX, 0, 80, 80), ix, iy, this);
310 }
311 }
312
313 public static void main(String[] argv) {
314 createDemoFrame(new BezierScroller());
315 }
316
317
318 static final class DemoControls extends CustomControls implements
319 ActionListener {
320
321 BezierScroller demo;
322 JToolBar toolbar;
323 JComboBox combo;
324
325 public DemoControls(BezierScroller demo) {
326 super(demo.name);
327 this.demo = demo;
328 add(toolbar = new JToolBar());
329 toolbar.setFloatable(false);
330 addTool("Image", false);
331 addTool("Shape", true);
332 addTool("Text", true);
333 }
334
335 public void addTool(String str, boolean state) {
336 JToggleButton b =
337 (JToggleButton) toolbar.add(new JToggleButton(str));
338 b.setFocusPainted(false);
339 b.setSelected(state);
340 b.addActionListener(this);
341 int width = b.getPreferredSize().width;
342 Dimension prefSize = new Dimension(width, 21);
343 b.setPreferredSize(prefSize);
|
43 import java.awt.Font;
44 import java.awt.FontMetrics;
45 import java.awt.Graphics2D;
46 import java.awt.Image;
47 import java.awt.RenderingHints;
48 import java.awt.event.ActionEvent;
49 import java.awt.event.ActionListener;
50 import java.awt.geom.GeneralPath;
51 import java.awt.geom.Path2D;
52 import java.awt.geom.PathIterator;
53 import java.awt.image.BufferedImage;
54 import java.io.BufferedReader;
55 import java.io.FileReader;
56 import java.util.ArrayList;
57 import java.util.List;
58 import java.util.logging.Level;
59 import java.util.logging.Logger;
60 import java2d.AnimatingControlsSurface;
61 import java2d.CustomControls;
62 import javax.swing.AbstractButton;
63 import javax.swing.JToggleButton;
64 import javax.swing.JToolBar;
65
66
67 /**
68 * Animated Bezier Curve shape with images at the control points.
69 * README.txt file scrolling up. Composited Image fading in and out.
70 */
71 @SuppressWarnings("serial")
72 public class BezierScroller extends AnimatingControlsSurface {
73
74 private static String[] appletStrs = { " ", "J2Ddemo",
75 "BezierScroller - Animated Bezier Curve shape with images",
76 "For README.txt file scrolling run in application mode", " " };
77 private static final int NUMPTS = 6;
78 private static Color greenBlend = new Color(0, 255, 0, 100);
79 private static Color blueBlend = new Color(0, 0, 255, 100);
80 private static Font font = new Font(Font.SERIF, Font.PLAIN, 12);
81 private static BasicStroke bs = new BasicStroke(3.0f);
82 private static Image hotj_img;
302 }
303
304 if (doImage) {
305 AlphaComposite ac = AlphaComposite.getInstance(
306 AlphaComposite.SRC_OVER, alpha);
307 g2.setComposite(ac);
308 g2.drawImage(img.getSubimage(imgX, 0, 80, 80), ix, iy, this);
309 }
310 }
311
312 public static void main(String[] argv) {
313 createDemoFrame(new BezierScroller());
314 }
315
316
317 static final class DemoControls extends CustomControls implements
318 ActionListener {
319
320 BezierScroller demo;
321 JToolBar toolbar;
322
323 public DemoControls(BezierScroller demo) {
324 super(demo.name);
325 this.demo = demo;
326 add(toolbar = new JToolBar());
327 toolbar.setFloatable(false);
328 addTool("Image", false);
329 addTool("Shape", true);
330 addTool("Text", true);
331 }
332
333 public void addTool(String str, boolean state) {
334 JToggleButton b =
335 (JToggleButton) toolbar.add(new JToggleButton(str));
336 b.setFocusPainted(false);
337 b.setSelected(state);
338 b.addActionListener(this);
339 int width = b.getPreferredSize().width;
340 Dimension prefSize = new Dimension(width, 21);
341 b.setPreferredSize(prefSize);
|