src/demo/share/applets/GraphicsTest/GraphicsTest.java
changeset 50831 59c6972e39fa
parent 50830 5500595d8ebf
child 50832 e069b9e49ca7
--- a/src/demo/share/applets/GraphicsTest/GraphicsTest.java	Fri Jun 22 12:16:14 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,481 +0,0 @@
-/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * This source code is provided to illustrate the usage of a given feature
- * or technique and has been deliberately simplified. Additional steps
- * required for a production-quality application, such as security checks,
- * input validation and proper error handling, might not be present in
- * this sample code.
- */
-
-
-
-import java.awt.*;
-import java.util.*;
-import java.awt.event.*;
-import java.applet.Applet;
-
-
-@SuppressWarnings("serial")
-class GraphicsPanel extends Panel {
-
-    ActionListener al;
-    ItemListener il;
-    public GraphicsCards cards;
-
-    GraphicsPanel(EventListener listener) {
-        al = (ActionListener) listener;
-        il = (ItemListener) listener;
-
-        setLayout(new BorderLayout());
-
-        add("Center", cards = new GraphicsCards());
-
-        Panel p = new Panel();
-        //p.setLayout(new BorderLayout());
-
-        Button b = new Button("next");
-        b.addActionListener(al);
-        p.add(b);
-
-        b = new Button("previous");
-        b.addActionListener(al);
-        p.add(b);
-
-        p.add(new Label("go to:", Label.RIGHT));
-
-        Choice c = new Choice();
-        c.addItemListener(il);
-        p.add(c);
-
-        c.addItem("Arc");
-        c.addItem("Oval");
-        c.addItem("Polygon");
-        c.addItem("Rect");
-        c.addItem("RoundRect");
-
-        add("North", p);
-
-        setSize(400, 400);
-    }
-
-    @Override
-    public Dimension getPreferredSize() {
-        return new Dimension(200, 100);
-    }
-}
-
-
-@SuppressWarnings("serial")
-public class GraphicsTest extends Applet
-        implements ActionListener, ItemListener {
-
-    GraphicsPanel mainPanel;
-
-    @Override
-    public void init() {
-        setLayout(new BorderLayout());
-        add("Center", mainPanel = new GraphicsPanel(this));
-    }
-
-    @Override
-    public void destroy() {
-        remove(mainPanel);
-    }
-
-    @Override
-    public void actionPerformed(ActionEvent e) {
-        String arg = e.getActionCommand();
-
-        if ("next".equals(arg)) {
-            ((CardLayout) mainPanel.cards.getLayout()).next(mainPanel.cards);
-        } else if ("previous".equals(arg)) {
-            ((CardLayout) mainPanel.cards.getLayout()).previous(mainPanel.cards);
-        }
-    }
-
-    @Override
-    public void itemStateChanged(ItemEvent e) {
-        ((CardLayout) mainPanel.cards.getLayout()).show(mainPanel.cards,
-                (String) e.getItem());
-    }
-
-    public static void main(String args[]) {
-        AppletFrame.startApplet("GraphicsTest", "Graphics Test", args);
-    }
-
-    @Override
-    public String getAppletInfo() {
-        return "An interactive demonstration of some graphics.";
-    }
-}   // end class GraphicsTest
-
-
-@SuppressWarnings("serial")
-class GraphicsCards extends Panel {
-
-    public GraphicsCards() {
-        setLayout(new CardLayout());
-        add("Arc", new ArcCard());
-        add("Oval", new ShapeTest(new OvalShape()));
-        add("Polygon", new ShapeTest(new PolygonShape()));
-        add("Rect", new ShapeTest(new RectShape()));
-        add("RoundRect", new ShapeTest(new RoundRectShape()));
-    }
-}   // end class GraphicsCards
-
-
-@SuppressWarnings("serial")
-class ArcCard extends Panel {
-
-    public ArcCard() {
-        setLayout(new GridLayout(0, 2));
-        add(new ArcPanel(true));
-        add(new ArcPanel(false));
-        add(new ArcDegreePanel(true));
-        add(new ArcDegreePanel(false));
-    }
-}   // end class ArcCard
-
-
-@SuppressWarnings("serial")
-class ArcDegreePanel extends Panel {
-
-    boolean filled;
-
-    public ArcDegreePanel(boolean filled) {
-        this.filled = filled;
-    }
-
-    void arcSteps(Graphics g,
-            int step,
-            int x,
-            int y,
-            int w,
-            int h,
-            Color c1,
-            Color c2) {
-        int a1 = 0;
-        int a2 = step;
-        int progress = 0;
-        g.setColor(c1);
-        for (; (a1 + a2) <= 360; a1 = a1 + a2, a2 += 1) {
-            if (g.getColor() == c1) {
-                g.setColor(c2);
-            } else {
-                g.setColor(c1);
-            }
-
-            if (filled) {
-                g.fillArc(x, y, w, h, a1, a2);
-            } else {
-                g.drawArc(x, y, w, h, a1, a2);
-            }
-
-            progress = a1 + a2;
-        }  // end for
-
-        if (progress != 360) {
-            if (filled) {
-                g.fillArc(x, y, w, h, a1, 360 - progress);
-            } else {
-                g.drawArc(x, y, w, h, a1, 360 - progress);
-            }
-        }  // end if
-    }  // end arcSteps()
-
-    @Override
-    public void paint(Graphics g) {
-        Rectangle r = getBounds();
-
-        arcSteps(g, 3, 0, 0, r.width, r.height, Color.orange, Color.blue);
-
-        arcSteps(g,
-                2,
-                r.width / 4,
-                r.height / 4,
-                r.width / 2,
-                r.height / 2,
-                Color.yellow,
-                Color.green);
-
-        arcSteps(g,
-                1,
-                (r.width * 3) / 8,
-                (r.height * 3) / 8,
-                r.width / 4,
-                r.height / 4,
-                Color.magenta,
-                Color.white);
-
-    }  // end paint()
-}   // end class ArcDegreePanel
-
-
-@SuppressWarnings("serial")
-class ArcPanel extends Panel {
-
-    boolean filled;
-
-    public ArcPanel(boolean filled) {
-        this.filled = filled;
-    }
-
-    @Override
-    public void paint(Graphics g) {
-        Rectangle r = getBounds();
-
-        g.setColor(Color.yellow);
-        if (filled) {
-            g.fillArc(0, 0, r.width, r.height, 0, 45);
-        } else {
-            g.drawArc(0, 0, r.width, r.height, 0, 45);
-        }
-
-        g.setColor(Color.green);
-        if (filled) {
-            g.fillArc(0, 0, r.width, r.height, 90, -45);
-        } else {
-            g.drawArc(0, 0, r.width, r.height, 90, -45);
-        }
-
-        g.setColor(Color.orange);
-        if (filled) {
-            g.fillArc(0, 0, r.width, r.height, 135, -45);
-        } else {
-            g.drawArc(0, 0, r.width, r.height, 135, -45);
-        }
-
-        g.setColor(Color.magenta);
-
-        if (filled) {
-            g.fillArc(0, 0, r.width, r.height, -225, 45);
-        } else {
-            g.drawArc(0, 0, r.width, r.height, -225, 45);
-        }
-
-        g.setColor(Color.yellow);
-        if (filled) {
-            g.fillArc(0, 0, r.width, r.height, 225, -45);
-        } else {
-            g.drawArc(0, 0, r.width, r.height, 225, -45);
-        }
-
-        g.setColor(Color.green);
-        if (filled) {
-            g.fillArc(0, 0, r.width, r.height, -135, 45);
-        } else {
-            g.drawArc(0, 0, r.width, r.height, -135, 45);
-        }
-
-        g.setColor(Color.orange);
-        if (filled) {
-            g.fillArc(0, 0, r.width, r.height, -45, -45);
-        } else {
-            g.drawArc(0, 0, r.width, r.height, -45, -45);
-        }
-
-        g.setColor(Color.magenta);
-        if (filled) {
-            g.fillArc(0, 0, r.width, r.height, 315, 45);
-        } else {
-            g.drawArc(0, 0, r.width, r.height, 315, 45);
-        }
-
-    }  // end paint()
-}   // end class ArcPanel
-
-
-abstract class Shape {
-
-    abstract void draw(Graphics g, int x, int y, int w, int h);
-
-    abstract void fill(Graphics g, int x, int y, int w, int h);
-}
-
-
-class RectShape extends Shape {
-
-    @Override
-    void draw(Graphics g, int x, int y, int w, int h) {
-        g.drawRect(x, y, w, h);
-    }
-
-    @Override
-    void fill(Graphics g, int x, int y, int w, int h) {
-        g.fillRect(x, y, w, h);
-    }
-}
-
-
-class OvalShape extends Shape {
-
-    @Override
-    void draw(Graphics g, int x, int y, int w, int h) {
-        g.drawOval(x, y, w, h);
-    }
-
-    @Override
-    void fill(Graphics g, int x, int y, int w, int h) {
-        g.fillOval(x, y, w, h);
-    }
-}
-
-
-class RoundRectShape extends Shape {
-
-    @Override
-    void draw(Graphics g, int x, int y, int w, int h) {
-        g.drawRoundRect(x, y, w, h, 10, 10);
-    }
-
-    @Override
-    void fill(Graphics g, int x, int y, int w, int h) {
-        g.fillRoundRect(x, y, w, h, 10, 10);
-    }
-}
-
-
-class PolygonShape extends Shape {
-    // class variables
-
-    Polygon p;
-    Polygon pBase;
-
-    public PolygonShape() {
-        pBase = new Polygon();
-        pBase.addPoint(0, 0);
-        pBase.addPoint(10, 0);
-        pBase.addPoint(5, 15);
-        pBase.addPoint(10, 20);
-        pBase.addPoint(5, 20);
-        pBase.addPoint(0, 10);
-        pBase.addPoint(0, 0);
-    }
-
-    void scalePolygon(float w, float h) {
-        p = new Polygon();
-        for (int i = 0; i < pBase.npoints; ++i) {
-            p.addPoint((int) (pBase.xpoints[i] * w),
-                    (int) (pBase.ypoints[i] * h));
-        }
-
-    }
-
-    @Override
-    void draw(Graphics g, int x, int y, int w, int h) {
-        Graphics ng = g.create();
-        try {
-            ng.translate(x, y);
-            scalePolygon(((float) w / 10f), ((float) h / 20f));
-            ng.drawPolygon(p);
-        } finally {
-            ng.dispose();
-        }
-    }
-
-    @Override
-    void fill(Graphics g, int x, int y, int w, int h) {
-        Graphics ng = g.create();
-        try {
-            ng.translate(x, y);
-            scalePolygon(((float) w / 10f), ((float) h / 20f));
-            ng.fillPolygon(p);
-        } finally {
-            ng.dispose();
-        }
-    }
-}
-
-
-@SuppressWarnings("serial")
-class ShapeTest extends Panel {
-
-    Shape shape;
-    int step;
-
-    public ShapeTest(Shape shape, int step) {
-        this.shape = shape;
-        this.step = step;
-    }
-
-    public ShapeTest(Shape shape) {
-        this(shape, 10);
-    }
-
-    @Override
-    public void paint(Graphics g) {
-        Rectangle bounds = getBounds();
-
-        int cx, cy, cw, ch;
-
-        Color color;
-
-        for (color = Color.red, cx = bounds.x, cy = bounds.y,
-                cw = bounds.width / 2, ch = bounds.height;
-                cw > 0 && ch > 0;
-                cx += step, cy += step, cw -= (step * 2), ch -= (step * 2),
-                color = ColorUtils.darker(color, 0.9)) {
-            g.setColor(color);
-            shape.draw(g, cx, cy, cw, ch);
-        }
-
-        for (cx = bounds.x + bounds.width / 2, cy = bounds.y,
-                cw = bounds.width / 2, ch = bounds.height;
-                cw > 0 && ch > 0;
-                cx += step, cy += step, cw -= (step * 2), ch -= (step * 2)) {
-            if (g.getColor() == Color.red) {
-                g.setColor(Color.blue);
-            } else {
-                g.setColor(Color.red);
-            }
-
-            shape.fill(g, cx, cy, cw, ch);
-        }  // end for
-    }  // end paint()
-}   // end class ShapeTest
-
-
-class ColorUtils {
-
-    static Color brighter(Color c, double factor) {
-        return new Color(Math.min((int) (c.getRed() * (1 / factor)), 255),
-                Math.min((int) (c.getGreen() * (1 / factor)), 255),
-                Math.min((int) (c.getBlue() * (1 / factor)), 255));
-    }
-
-    static Color darker(Color c, double factor) {
-        return new Color(Math.max((int) (c.getRed() * factor), 0),
-                Math.max((int) (c.getGreen() * factor), 0),
-                Math.max((int) (c.getBlue() * factor), 0));
-    }
-}