src/demo/share/jfc/J2Ddemo/README.txt
author prr
Mon, 14 May 2018 08:58:32 -0700
changeset 50146 0bb0e464ee76
permissions -rw-r--r--
8198991: Move Java2D demo to the open repository Reviewed-by: serb, jeff
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
The classes for the Java2D(TM) demo are contained in the J2Ddemo.jar file.  
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     2
To run the J2D demo:
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     3
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     4
% java -jar J2Ddemo.jar
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     5
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     6
-----------------------------------------------------------------------
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
     7
Introduction
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
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    10
This Java2D demo consists of a set of demos housed in one GUI 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    11
framework that uses a JTabbedPane.  You can access different groups of 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    12
demos by clicking the tabs at the top of the pane. There are demo 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    13
groups for Arcs_Curves, Clipping, Colors, Composite, Fonts, Images, 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    14
Lines, Mix, Paint, Paths and Transforms.  On the right-hand side of the 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    15
pane, the GUI framework features individual and global controls for 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    16
changing graphics attributes. There's also a memory-usage monitor, and 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    17
a monitor for tracking the performance, in frames per second, of 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    18
animation demos.
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
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    21
-----------------------------------------------------------------------
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    22
Tips on usage 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    23
----------------------------------------------------------------------- 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    24
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    25
Click on one of the tabs at the top of the pane to select a demo group.  
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    26
When you select a group, a set of surfaces is displayed, each of which 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    27
contains one of the group's demos. At the bottom of each surface is 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    28
a set of tools for controlling the demo.  The tools can be displayed
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    29
by selecting the Tools checkbox in the Global Controls panel or
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    30
by clicking on the slim strip of gray bumps at the bottom of the demo
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    31
panel.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    32
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    33
If you click on a demo surface, that demo is laid out by itself. A
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    34
new icon button will appear in the demo's tools toolbar one that enables 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    35
you to create new instances of that demo's surface. 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    36
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    37
To run the demo continuously without user interaction, select the 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    38
Run Window item in the Options menu and press the run button in the 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    39
new window that's displayed.  To do this from the command line:
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    40
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    41
    java -jar J2Ddemo.jar -runs=10
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    42
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    43
To view all the command line options for customizing demo runs:
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    44
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    45
    java -jar J2Ddemo.jar -help
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    46
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    47
You can run the demos in stand-alone mode by issuing a command like this
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    48
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    49
    java -cp J2Ddemo.jar java2d.demos.Clipping.ClipAnim
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    50
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    51
You can run the demos in groups by issuing a command like this
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    52
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    53
    java -cp J2Ddemo.jar java2d.DemoGroup Clipping    
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    54
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    55
To increase or decrease the Memory Monitor sampling rate click on the
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    56
Memory Monitor's title border, a panel with a TextField will appear.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    57
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    58
The J2Ddemo Intro (the 'J2D demo' tab) contains a scene table, click in 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    59
the gray border and a table will appear.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    60
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    61
Animated demos have a slider to control the animation rate.  Bring up
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    62
the animated demo toolbar, then click in the gray area of the toolbar
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    63
panel, the toolbar goes away and the slider appears.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    64
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    65
Demos that have Custom Controls can have their Custom Control Thread
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    66
activated and stopped by clicking in the gray area of the demos Custom 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    67
Control panel.
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    68
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    69
-----------------------------------------------------------------------
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    70
NOTE about demo surfaces 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    71
----------------------------------------------------------------------- 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    72
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    73
The demo groups are in separate packages with their class files stored 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    74
in directories named according to the demo group name.  All drawing 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    75
demos extend either the Surface, AnimatingSurface, ControlsSurface or
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    76
AnimatingControlsSurface classes.  Surface is the base class, demos
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    77
must implement the Surface's render method.  All animated demos extend 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    78
either the AnimatingSurface or the AnimatingControlsSurface classes.  
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    79
Animated demos must implement the reset and step methods.  The demos
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    80
with gui controls extend either the ControlsSurface or the 
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    81
AnimatingControlsSurface classes.  Demos with controls must implement
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    82
the methods in the CustomControlsContext interface.
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
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
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    87
Here are some resources for learning about and using the Java2D(TM)
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    88
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    89
OpenJDK group page: http://openjdk.java.net/groups/2d/
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    90
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    91
Learning Java 2D: http://www.oracle.com/technetwork/articles/java/java2dpart1-137217.html
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    92
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    93
Tutorial : http://download.oracle.com/javase/tutorial/2d/
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    94
Specification: http://download.oracle.com/javase/8/docs/technotes/guides/2d/spec/j2d-bookTOC.html
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    95
Java 2D (TM) API White Paper : http://www.oracle.com/technetwork/java/javase/tech/2d-142228.html
0bb0e464ee76 8198991: Move Java2D demo to the open repository
prr
parents:
diff changeset
    96
2D FAQ: http://www.oracle.com/technetwork/java/index-137037.html