src/demo/share/jfc/J2Ddemo/java2d/J2Ddemo.java
author tvaleev
Tue, 09 Oct 2018 18:25:57 -0700
changeset 52252 de9486d74a74
parent 50146 0bb0e464ee76
permissions -rw-r--r--
8211693: Convert C-style array declarations in client demos and jdk.accessibility Reviewed-by: serb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50146
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     1
/*
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     2
 *
52252
de9486d74a74 8211693: Convert C-style array declarations in client demos and jdk.accessibility
tvaleev
parents: 50146
diff changeset
     3
 * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
50146
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     4
 *
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     5
 * Redistribution and use in source and binary forms, with or without
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     6
 * modification, are permitted provided that the following conditions
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     7
 * are met:
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     8
 *
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     9
 *   - Redistributions of source code must retain the above copyright
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    10
 *     notice, this list of conditions and the following disclaimer.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    11
 *
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    12
 *   - Redistributions in binary form must reproduce the above copyright
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    13
 *     notice, this list of conditions and the following disclaimer in the
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    14
 *     documentation and/or other materials provided with the distribution.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    15
 *
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    16
 *   - Neither the name of Oracle nor the names of its
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    17
 *     contributors may be used to endorse or promote products derived
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    18
 *     from this software without specific prior written permission.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    19
 *
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    20
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    21
 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    22
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    23
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    24
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    25
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    26
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    27
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    28
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    29
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    30
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    31
 */
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    32
package java2d;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    33
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    34
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    35
import static java2d.CustomControlsContext.State.START;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    36
import static java2d.CustomControlsContext.State.STOP;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    37
import static java2d.DemoImages.newDemoImages;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    38
import static java2d.DemoFonts.newDemoFonts;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    39
import static java2d.RunWindow.RunWindowSettings;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    40
import java.awt.BorderLayout;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    41
import java.awt.Color;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    42
import java.awt.Component;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    43
import java.awt.Cursor;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    44
import java.awt.Dimension;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    45
import java.awt.Font;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    46
import java.awt.Graphics;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    47
import java.awt.Graphics2D;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    48
import java.awt.GridBagConstraints;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    49
import java.awt.GridBagLayout;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    50
import java.awt.Insets;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    51
import java.awt.RenderingHints;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    52
import java.awt.Toolkit;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    53
import java.awt.event.ActionEvent;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    54
import java.awt.event.ActionListener;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    55
import java.awt.event.ItemEvent;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    56
import java.awt.event.ItemListener;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    57
import java.awt.event.WindowAdapter;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    58
import java.awt.event.WindowEvent;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    59
import java.awt.event.WindowListener;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    60
import java.awt.font.FontRenderContext;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    61
import java.awt.font.TextLayout;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    62
import javax.swing.Box;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    63
import javax.swing.BoxLayout;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    64
import javax.swing.Icon;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    65
import javax.swing.JCheckBoxMenuItem;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    66
import javax.swing.JColorChooser;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    67
import javax.swing.JFrame;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    68
import javax.swing.JLabel;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    69
import javax.swing.JMenu;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    70
import javax.swing.JMenuBar;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    71
import javax.swing.JMenuItem;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    72
import javax.swing.JOptionPane;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    73
import javax.swing.JPanel;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    74
import javax.swing.JPopupMenu;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    75
import javax.swing.JProgressBar;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    76
import javax.swing.JSeparator;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    77
import javax.swing.JTabbedPane;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    78
import javax.swing.SwingUtilities;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    79
import javax.swing.UIManager;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    80
import javax.swing.border.EtchedBorder;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    81
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    82
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    83
/**
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    84
 * A demo that shows Java 2D(TM) API features.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    85
 */
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    86
@SuppressWarnings("serial")
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    87
public class J2Ddemo extends JPanel implements ItemListener, ActionListener, DemoInstVarsAccessor {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    88
    private final GlobalControls controls;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    89
    private final MemoryMonitor memorymonitor;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    90
    private final PerformanceMonitor performancemonitor;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    91
    private final JTabbedPane tabbedPane;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    92
    private final DemoGroup[] group;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    93
    private JCheckBoxMenuItem verboseCB;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    94
    private JCheckBoxMenuItem ccthreadCB;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    95
    private JCheckBoxMenuItem printCB = new JCheckBoxMenuItem("Default Printer");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    96
    private Color backgroundColor;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    97
    private JCheckBoxMenuItem memoryCB, perfCB;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    98
    private final Intro intro;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    99
    public static final String[][] demos = {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   100
        { "Arcs_Curves", "Arcs", "BezierAnim", "Curves", "Ellipses" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   101
        { "Clipping", "Areas", "ClipAnim", "Intersection", "Text" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   102
        { "Colors", "BullsEye", "ColorConvert", "Rotator3D" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   103
        { "Composite", "ACimages", "ACrules", "FadeAnim" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   104
        { "Fonts", "AttributedStr", "Highlighting", "Outline", "Tree" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   105
        { "Images", "DukeAnim", "ImageOps", "JPEGFlip", "WarpImage" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   106
        { "Lines", "Caps", "Dash", "Joins", "LineAnim" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   107
        { "Mix", "Balls", "BezierScroller", "Stars3D" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   108
        { "Paint", "GradAnim", "Gradient", "Texture", "TextureAnim" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   109
        { "Paths", "Append", "CurveQuadTo", "FillStroke", "WindingRule" },
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   110
        { "Transforms", "Rotate", "SelectTx", "TransformAnim" }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   111
    };
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   112
    private final boolean demoIsInApplet;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   113
    private JCheckBoxMenuItem controlsCB;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   114
    private JMenuItem runMI, cloneMI, fileMI, backgMI;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   115
//    private JMenuItem ccthreadMI, verboseMI;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   116
    private RunWindow runwindow;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   117
    private RunWindowSettings runWndSetts;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   118
    private CloningFeature cloningfeature;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   119
    private JFrame rf, cf;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   120
//    private GlobalPanel gp;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   121
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   122
    /**
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   123
     * Construct the J2D Demo.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   124
     */
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   125
    public J2Ddemo(boolean demoIsInApplet, DemoProgress progress, RunWindowSettings runWndSetts) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   126
        this.demoIsInApplet = demoIsInApplet;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   127
        this.runWndSetts = runWndSetts;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   128
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   129
        setLayout(new BorderLayout());
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   130
        setBorder(new EtchedBorder());
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   131
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   132
        add(createMenuBar(), BorderLayout.NORTH);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   133
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   134
        // hard coding 14 = 11 demo dirs + images + fonts + Intro
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   135
        progress.setMaximum(13);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   136
        progress.setText("Loading images");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   137
        newDemoImages();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   138
        progress.setValue(progress.getValue() + 1);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   139
        progress.setText("Loading fonts");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   140
        newDemoFonts();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   141
        progress.setValue(progress.getValue() + 1);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   142
        progress.setText("Loading Intro");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   143
        intro = new Intro();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   144
        progress.setValue(progress.getValue() + 1);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   145
        UIManager.put("Button.margin", new Insets(0, 0, 0, 0));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   146
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   147
        controls = new GlobalControls(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   148
        memorymonitor = new MemoryMonitor();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   149
        performancemonitor = new PerformanceMonitor();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   150
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   151
        GlobalPanel gp = new GlobalPanel(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   152
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   153
        tabbedPane = new JTabbedPane(JTabbedPane.TOP, JTabbedPane.WRAP_TAB_LAYOUT);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   154
        tabbedPane.setFont(new Font(Font.SERIF, Font.PLAIN, 12));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   155
        tabbedPane.addTab("", new J2DIcon(this), gp);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   156
        tabbedPane.addChangeListener(gp);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   157
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   158
        group = new DemoGroup[demos.length];
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   159
        for (int i = 0; i < demos.length; i++) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   160
            progress.setText("Loading demos." + demos[i][0]);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   161
            group[i] = new DemoGroup(demos[i][0], this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   162
            tabbedPane.addTab(demos[i][0], null);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   163
            progress.setValue(progress.getValue() + 1);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   164
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   165
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   166
        add(tabbedPane, BorderLayout.CENTER);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   167
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   168
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   169
    private JMenuBar createMenuBar() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   170
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   171
        JPopupMenu.setDefaultLightWeightPopupEnabled(false);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   172
        JMenuBar menuBar = new JMenuBar();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   173
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   174
        if (!demoIsInApplet) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   175
            JMenu file = menuBar.add(new JMenu("File"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   176
            fileMI = file.add(new JMenuItem("Exit"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   177
            fileMI.addActionListener(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   178
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   179
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   180
        JMenu options = menuBar.add(new JMenu("Options"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   181
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   182
        controlsCB = (JCheckBoxMenuItem) options.add(
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   183
                new JCheckBoxMenuItem("Global Controls", true));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   184
        controlsCB.addItemListener(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   185
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   186
        memoryCB = (JCheckBoxMenuItem) options.add(
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   187
                new JCheckBoxMenuItem("Memory Monitor", true));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   188
        memoryCB.addItemListener(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   189
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   190
        perfCB = (JCheckBoxMenuItem) options.add(
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   191
                new JCheckBoxMenuItem("Performance Monitor", true));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   192
        perfCB.addItemListener(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   193
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   194
        options.add(new JSeparator());
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   195
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   196
        ccthreadCB = (JCheckBoxMenuItem) options.add(
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   197
                new JCheckBoxMenuItem("Custom Controls Thread"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   198
        ccthreadCB.addItemListener(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   199
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   200
        printCB = (JCheckBoxMenuItem) options.add(printCB);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   201
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   202
        verboseCB = (JCheckBoxMenuItem) options.add(
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   203
                new JCheckBoxMenuItem("Verbose"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   204
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   205
        options.add(new JSeparator());
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   206
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   207
        backgMI = options.add(new JMenuItem("Background Color"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   208
        backgMI.addActionListener(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   209
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   210
        runMI = options.add(new JMenuItem("Run Window"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   211
        runMI.addActionListener(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   212
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   213
        cloneMI = options.add(new JMenuItem("Cloning Feature"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   214
        cloneMI.addActionListener(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   215
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   216
        return menuBar;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   217
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   218
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   219
    public void createRunWindow() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   220
        if (rf != null) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   221
            rf.toFront();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   222
            return;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   223
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   224
        runwindow = new RunWindow(this, runWndSetts);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   225
        WindowListener l = new WindowAdapter() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   226
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   227
            @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   228
            public void windowClosing(WindowEvent e) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   229
                runwindow.stop();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   230
                rf.dispose();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   231
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   232
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   233
            @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   234
            public void windowClosed(WindowEvent e) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   235
                rf = null;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   236
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   237
        };
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   238
        rf = new JFrame("Run");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   239
        rf.addWindowListener(l);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   240
        rf.getContentPane().add("Center", runwindow);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   241
        rf.pack();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   242
        if (!demoIsInApplet) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   243
            rf.setSize(new Dimension(200, 125));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   244
        } else {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   245
            rf.setSize(new Dimension(200, 150));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   246
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   247
        rf.setVisible(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   248
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   249
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   250
    public void startRunWindow() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   251
        SwingUtilities.invokeLater(new Runnable() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   252
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   253
            @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   254
            public void run() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   255
                runwindow.doRunAction();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   256
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   257
        });
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   258
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   259
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   260
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   261
    public void actionPerformed(ActionEvent e) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   262
        if (e.getSource().equals(fileMI)) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   263
            System.exit(0);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   264
        } else if (e.getSource().equals(runMI)) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   265
            createRunWindow();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   266
        } else if (e.getSource().equals(cloneMI)) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   267
            if (cloningfeature == null) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   268
                cloningfeature = new CloningFeature(this);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   269
                WindowListener l = new WindowAdapter() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   270
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   271
                    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   272
                    public void windowClosing(WindowEvent e) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   273
                        cloningfeature.stop();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   274
                        cf.dispose();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   275
                    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   276
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   277
                    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   278
                    public void windowClosed(WindowEvent e) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   279
                        cloningfeature = null;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   280
                    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   281
                };
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   282
                cf = new JFrame("Cloning Demo");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   283
                cf.addWindowListener(l);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   284
                cf.getContentPane().add("Center", cloningfeature);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   285
                cf.pack();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   286
                cf.setSize(new Dimension(320, 330));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   287
                cf.setVisible(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   288
            } else {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   289
                cf.toFront();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   290
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   291
        } else if (e.getSource().equals(backgMI)) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   292
            backgroundColor =
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   293
                    JColorChooser.showDialog(this, "Background Color",
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   294
                    Color.white);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   295
            for (int i = 1; i < tabbedPane.getTabCount(); i++) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   296
                JPanel p = group[i - 1].getPanel();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   297
                for (int j = 0; j < p.getComponentCount(); j++) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   298
                    DemoPanel dp = (DemoPanel) p.getComponent(j);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   299
                    if (dp.surface != null) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   300
                        dp.surface.setBackground(backgroundColor);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   301
                    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   302
                }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   303
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   304
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   305
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   306
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   307
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   308
    public void itemStateChanged(ItemEvent e) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   309
        if (e.getSource().equals(controlsCB)) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   310
            boolean newVisibility = !controls.isVisible();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   311
            controls.setVisible(newVisibility);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   312
            for (Component cmp : controls.texturechooser.getComponents()) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   313
                cmp.setVisible(newVisibility);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   314
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   315
        } else if (e.getSource().equals(memoryCB)) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   316
            if (memorymonitor.isVisible()) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   317
                memorymonitor.setVisible(false);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   318
                memorymonitor.surf.setVisible(false);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   319
                memorymonitor.surf.stop();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   320
            } else {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   321
                memorymonitor.setVisible(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   322
                memorymonitor.surf.setVisible(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   323
                memorymonitor.surf.start();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   324
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   325
        } else if (e.getSource().equals(perfCB)) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   326
            if (performancemonitor.isVisible()) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   327
                performancemonitor.setVisible(false);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   328
                performancemonitor.surf.setVisible(false);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   329
                performancemonitor.surf.stop();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   330
            } else {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   331
                performancemonitor.setVisible(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   332
                performancemonitor.surf.setVisible(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   333
                performancemonitor.surf.start();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   334
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   335
        } else if (e.getSource().equals(ccthreadCB)) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   336
            CustomControlsContext.State state =
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   337
                    ccthreadCB.isSelected() ? START : STOP;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   338
            if (tabbedPane.getSelectedIndex() != 0) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   339
                JPanel p = group[tabbedPane.getSelectedIndex() - 1].getPanel();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   340
                for (int i = 0; i < p.getComponentCount(); i++) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   341
                    DemoPanel dp = (DemoPanel) p.getComponent(i);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   342
                    if (dp.ccc != null) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   343
                        dp.ccc.handleThread(state);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   344
                    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   345
                }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   346
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   347
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   348
        revalidate();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   349
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   350
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   351
    public void start() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   352
        if (tabbedPane.getSelectedIndex() == 0) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   353
            intro.start();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   354
        } else {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   355
            group[tabbedPane.getSelectedIndex() - 1].setup(false);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   356
            if (memorymonitor.surf.thread == null && memoryCB.getState()) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   357
                memorymonitor.surf.start();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   358
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   359
            if (performancemonitor.surf.thread == null && perfCB.getState()) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   360
                performancemonitor.surf.start();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   361
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   362
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   363
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   364
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   365
    public void stop() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   366
        if (tabbedPane.getSelectedIndex() == 0) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   367
            intro.stop();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   368
        } else {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   369
            memorymonitor.surf.stop();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   370
            performancemonitor.surf.stop();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   371
            int i = tabbedPane.getSelectedIndex() - 1;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   372
            group[i].shutDown(group[i].getPanel());
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   373
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   374
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   375
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   376
    /**
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   377
     * Start of 'DemoInstVarsAccessor' implementation.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   378
     */
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   379
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   380
    public GlobalControls getControls() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   381
        return controls;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   382
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   383
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   384
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   385
    public MemoryMonitor getMemoryMonitor() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   386
        return memorymonitor;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   387
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   388
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   389
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   390
    public PerformanceMonitor getPerformanceMonitor() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   391
        return performancemonitor;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   392
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   393
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   394
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   395
    public JTabbedPane getTabbedPane() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   396
        return tabbedPane;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   397
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   398
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   399
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   400
    public DemoGroup[] getGroup() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   401
        return group;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   402
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   403
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   404
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   405
    public void setGroupColumns(int columns) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   406
        for (DemoGroup dg : group) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   407
            if (dg != null) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   408
                dg.columns = columns;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   409
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   410
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   411
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   412
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   413
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   414
    public JCheckBoxMenuItem getVerboseCB() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   415
        return verboseCB;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   416
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   417
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   418
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   419
    public JCheckBoxMenuItem getCcthreadCB() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   420
        return ccthreadCB;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   421
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   422
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   423
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   424
    public JCheckBoxMenuItem getPrintCB() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   425
        return printCB;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   426
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   427
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   428
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   429
    public Color getBackgroundColor() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   430
        return backgroundColor;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   431
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   432
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   433
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   434
    public JCheckBoxMenuItem getMemoryCB() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   435
        return memoryCB;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   436
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   437
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   438
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   439
    public JCheckBoxMenuItem getPerfCB() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   440
        return perfCB;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   441
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   442
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   443
    @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   444
    public Intro getIntro() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   445
        return intro;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   446
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   447
    /**
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   448
     * End of 'DemoInstVarsAccessor' implementation.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   449
     */
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   450
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   451
    static void addToGridBag(JPanel panel, Component comp,
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   452
            int x, int y, int w, int h, double weightx, double weighty) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   453
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   454
        GridBagLayout gbl = (GridBagLayout) panel.getLayout();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   455
        GridBagConstraints c = new GridBagConstraints();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   456
        c.fill = GridBagConstraints.BOTH;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   457
        c.gridx = x;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   458
        c.gridy = y;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   459
        c.gridwidth = w;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   460
        c.gridheight = h;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   461
        c.weightx = weightx;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   462
        c.weighty = weighty;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   463
        panel.add(comp);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   464
        gbl.setConstraints(comp, c);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   465
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   466
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   467
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   468
    /**
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   469
     * The Icon for the Intro tab.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   470
     */
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   471
    static class J2DIcon implements Icon {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   472
        private final DemoInstVarsAccessor demoInstVars;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   473
        private static final Color myBlue = new Color(94, 105, 176);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   474
        private static final Color myBlack = new Color(20, 20, 20);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   475
        private static final Font font = new Font(Font.SERIF, Font.BOLD, 12);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   476
        private FontRenderContext frc = new FontRenderContext(null, true, true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   477
        private TextLayout tl = new TextLayout("J2D demo", font, frc);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   478
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   479
        public J2DIcon(DemoInstVarsAccessor demoInstVars) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   480
            this.demoInstVars = demoInstVars;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   481
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   482
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   483
        @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   484
        public void paintIcon(Component c, Graphics g, int x, int y) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   485
            Graphics2D g2 = (Graphics2D) g;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   486
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   487
                    RenderingHints.VALUE_ANTIALIAS_ON);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   488
            g2.setFont(font);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   489
            if (demoInstVars.getTabbedPane().getSelectedIndex() == 0) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   490
                g2.setColor(myBlue);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   491
            } else {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   492
                g2.setColor(myBlack);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   493
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   494
            tl.draw(g2, x, y + (float)(tl.getBounds().getHeight()));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   495
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   496
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   497
        @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   498
        public int getIconWidth() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   499
            return (int)(tl.getAdvance())+5;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   500
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   501
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   502
        @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   503
        public int getIconHeight() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   504
            return (int)(tl.getBounds().getHeight());
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   505
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   506
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   507
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   508
    /**
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   509
     * This class eliminates the need in presence of static 'JLabel', 'JProgressBar'
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   510
     * variables in 'J2Ddemo' class. It is a part of the fix which changed static
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   511
     * variables for instance variables in certain demo classes.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   512
     */
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   513
    public static class DemoProgress {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   514
        private final JLabel progressLabel;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   515
        private final JProgressBar progressBar;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   516
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   517
        public DemoProgress(JLabel progressLabel, JProgressBar progressBar) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   518
            if (progressLabel == null) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   519
                throw new IllegalArgumentException("null was transferred as 'progressLabel' argument");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   520
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   521
            if (progressBar == null) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   522
                throw new IllegalArgumentException("null was transferred as 'progressBar' argument");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   523
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   524
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   525
            this.progressLabel = progressLabel;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   526
            this.progressBar = progressBar;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   527
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   528
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   529
        public void setText(String text) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   530
            progressLabel.setText(text);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   531
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   532
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   533
        public void setMaximum(int n) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   534
            progressBar.setMaximum(n);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   535
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   536
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   537
        public int getValue() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   538
            return progressBar.getValue();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   539
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   540
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   541
        public void setValue(int n) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   542
            progressBar.setValue(n);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   543
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   544
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   545
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   546
    private static void initFrame(String[] args, RunWindowSettings runWndSetts) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   547
        final J2Ddemo[] demoOneInstArr = new J2Ddemo[1];
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   548
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   549
        JFrame frame = new JFrame("Java 2D(TM) Demo");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   550
        frame.getAccessibleContext().setAccessibleDescription(
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   551
                "A sample application to demonstrate Java2D(TM) features");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   552
        int FRAME_WIDTH = 400, FRAME_HEIGHT = 200;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   553
        frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   554
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   555
        frame.setLocation(d.width / 2 - FRAME_WIDTH / 2, d.height / 2 - FRAME_HEIGHT
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   556
                / 2);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   557
        frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   558
        frame.addWindowListener(new WindowAdapter() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   559
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   560
            @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   561
            public void windowClosing(WindowEvent e) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   562
                System.exit(0);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   563
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   564
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   565
            @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   566
            public void windowDeiconified(WindowEvent e) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   567
                J2Ddemo demo = demoOneInstArr[0];
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   568
                if (demo != null) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   569
                    demo.start();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   570
                }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   571
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   572
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   573
            @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   574
            public void windowIconified(WindowEvent e) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   575
                J2Ddemo demo = demoOneInstArr[0];
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   576
                if (demo != null) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   577
                    demo.stop();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   578
                }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   579
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   580
        });
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   581
        JOptionPane.setRootFrame(frame);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   582
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   583
        JPanel progressPanel = new JPanel() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   584
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   585
            @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   586
            public Insets getInsets() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   587
                return new Insets(40, 30, 20, 30);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   588
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   589
        };
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   590
        progressPanel.setLayout(new BoxLayout(progressPanel, BoxLayout.Y_AXIS));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   591
        frame.getContentPane().add(progressPanel, BorderLayout.CENTER);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   592
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   593
        Dimension labelSize = new Dimension(400, 20);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   594
        JLabel progressLabel = new JLabel("Loading, please wait...");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   595
        progressLabel.setAlignmentX(CENTER_ALIGNMENT);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   596
        progressLabel.setMaximumSize(labelSize);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   597
        progressLabel.setPreferredSize(labelSize);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   598
        progressPanel.add(progressLabel);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   599
        progressPanel.add(Box.createRigidArea(new Dimension(1, 20)));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   600
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   601
        JProgressBar progressBar = new JProgressBar();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   602
        progressBar.setStringPainted(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   603
        progressLabel.setLabelFor(progressBar);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   604
        progressBar.setAlignmentX(CENTER_ALIGNMENT);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   605
        progressBar.setMinimum(0);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   606
        progressBar.setValue(0);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   607
        progressBar.getAccessibleContext().setAccessibleName(
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   608
                                  "J2D demo loading progress");
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   609
        progressPanel.add(progressBar);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   610
        DemoProgress demoProgress = new DemoProgress(progressLabel, progressBar);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   611
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   612
        frame.setVisible(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   613
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   614
        J2Ddemo demo = new J2Ddemo(false, demoProgress, runWndSetts);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   615
        demoOneInstArr[0] = demo;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   616
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   617
        frame.getContentPane().removeAll();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   618
        frame.getContentPane().setLayout(new BorderLayout());
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   619
        frame.getContentPane().add(demo, BorderLayout.CENTER);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   620
        FRAME_WIDTH = 850;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   621
        FRAME_HEIGHT = 600;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   622
        frame.setLocation(d.width / 2 - FRAME_WIDTH / 2, d.height / 2 - FRAME_HEIGHT
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   623
                / 2);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   624
        frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   625
        frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   626
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   627
        for (int i = 0; i < args.length; i++) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   628
            String arg = args[i];
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   629
            String s = arg.substring(arg.indexOf('=') + 1);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   630
            if (arg.startsWith("-runs=")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   631
                runWndSetts.setNumRuns(Integer.parseInt(s));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   632
                runWndSetts.setExit(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   633
                demo.createRunWindow();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   634
            } else if (arg.startsWith("-screen=")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   635
                demo.getControls().screenCombo.setSelectedIndex(Integer.parseInt(s));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   636
            } else if (arg.startsWith("-antialias=")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   637
                demo.controls.aliasCB.setSelected(s.endsWith("true"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   638
            } else if (arg.startsWith("-rendering=")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   639
                demo.controls.renderCB.setSelected(s.endsWith("true"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   640
            } else if (arg.startsWith("-texture=")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   641
                demo.controls.textureCB.setSelected(s.endsWith("true"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   642
            } else if (arg.startsWith("-composite=")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   643
                demo.controls.compositeCB.setSelected(s.endsWith("true"));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   644
            } else if (arg.startsWith("-verbose")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   645
                demo.verboseCB.setSelected(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   646
            } else if (arg.startsWith("-print")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   647
                demo.printCB.setSelected(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   648
                runWndSetts.setPrintCBIsSelected(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   649
            } else if (arg.startsWith("-columns=")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   650
                demo.setGroupColumns(Integer.parseInt(s));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   651
            } else if (arg.startsWith("-buffers=")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   652
                // usage -buffers=3,10
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   653
                runWndSetts.setBuffersFlag(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   654
                int i1 = arg.indexOf('=') + 1;
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   655
                int i2 = arg.indexOf(',');
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   656
                String s1 = arg.substring(i1, i2);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   657
                runWndSetts.setBufBeg(Integer.parseInt(s1));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   658
                s1 = arg.substring(i2 + 1, arg.length());
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   659
                runWndSetts.setBufEnd(Integer.parseInt(s1));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   660
            } else if (arg.startsWith("-ccthread")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   661
                demo.ccthreadCB.setSelected(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   662
            } else if (arg.startsWith("-zoom")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   663
                runWndSetts.setZoomCBSelected(true);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   664
            } else if (arg.startsWith("-maxscreen")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   665
                frame.setLocation(0, 0);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   666
                frame.setSize(d.width, d.height);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   667
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   668
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   669
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   670
        frame.validate();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   671
        frame.repaint();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   672
        frame.getFocusTraversalPolicy().getDefaultComponent(frame).requestFocus();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   673
        demo.start();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   674
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   675
        if (runWndSetts.getExit()) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   676
            demo.startRunWindow();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   677
        }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   678
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   679
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   680
52252
de9486d74a74 8211693: Convert C-style array declarations in client demos and jdk.accessibility
tvaleev
parents: 50146
diff changeset
   681
    public static void main(final String[] args) {
50146
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   682
        SwingUtilities.invokeLater(new Runnable() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   683
            @Override
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   684
            public void run() {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   685
                RunWindowSettings runWndSetts = new RunWindowSettings();
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   686
                for (int i = 0; i < args.length; i++) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   687
                    if (args[i].startsWith("-h") || args[i].startsWith("-help")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   688
                        String s = "\njava -jar J2Ddemo.jar -runs=5 -delay=5 -screen=5 "
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   689
                                + "-antialias=true -rendering=true -texture=true "
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   690
                                + "-composite=true -verbose -print -columns=3 "
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   691
                                + "-buffers=5,10 -ccthread -zoom -maxscreen \n";
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   692
                        System.out.println(s);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   693
                        s =
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   694
                                "    -runs=5       Number of runs to execute\n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   695
                                + "    -delay=5      Sleep amount between tabs\n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   696
                                + "    -antialias=   true or false for antialiasing\n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   697
                                + "    -rendering=   true or false for quality or speed\n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   698
                                + "    -texture=     true or false for texturing\n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   699
                                + "    -composite=   true or false for compositing\n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   700
                                + "    -verbose      output Surface graphic states \n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   701
                                + "    -print        during run print the Surface, "
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   702
                                + "use the Default Printer\n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   703
                                + "    -columns=3    # of columns to use in clone layout \n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   704
                                + "    -screen=3     demos all use this screen type \n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   705
                                + "    -buffers=5,10 during run - clone to see screens "
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   706
                                + "five through ten\n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   707
                                + "    -ccthread     Invoke the Custom Controls Thread \n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   708
                                + "    -zoom         mouseClick on surface for zoom in  \n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   709
                                + "    -maxscreen    take up the entire monitor screen \n";
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   710
                        System.out.println(s);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   711
                        s =
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   712
                                "Examples : \n" + "    Print all of the demos : \n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   713
                                + "        java -jar J2Ddemo.jar -runs=1 -delay=60 -print \n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   714
                                + "    Run zoomed in with custom control thread \n"
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   715
                                + "        java -jar J2Ddemo.jar -runs=10 -zoom -ccthread\n";
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   716
                        System.out.println(s);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   717
                        System.exit(0);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   718
                    } else if (args[i].startsWith("-delay=")) {
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   719
                        String s = args[i].substring(args[i].indexOf('=') + 1);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   720
                        runWndSetts.setDelay(Integer.parseInt(s));
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   721
                    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   722
                }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   723
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   724
                initFrame(args, runWndSetts);
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   725
            }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   726
        });
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   727
    }
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
   728
}