public class PDEGraphics2D extends AbstractDeployableGraphics2D implements java.lang.Cloneable
PDEGraphics2D - a Graphics2D subclass that generates a script using the Processing graphics language.
The generated script may be displayed using the open-source, multi-platform Processing application and displayed in web pages using the processing.js javascript when graphics will be rendered to an HTML5 canvas element.
Usage:
PDEGraphics2D instances are used in AWT/Swing component paint methods in the
same way as any other Graphics2D class object. When painting is complete, a
Processing script can be accessed by calling the getCode()
method on
the instance which returns the script as a String. Alternatively, call one of
the write(...)
methods to save the code to file. These methods
optionally support the creation of HTML files, together with CSS style
sheets, to display the generated script in an HTML5 browser canvas.
The methods are not thread-safe. All painting should be done on the EDT.
To create a PDEGraphics2D instance, pass the constructor an instance of a standard Graphics2D object, together with the size of the canvas to paint:
PDEGraphics2D g= new PDEGraphics2D(Graphics2D g, int w, int h)
or
PDEGraphics2D g= new PDEGraphics2D(Graphics2D g, Dimension d)
Alternatively, pass the component to paint as the input to one of the static paint methods:
PDEGraphics2D g=PDEGraphics2D.paint(Component c);
PDEGraphics2D g=PDEGraphics2D.paint(JComponent c);
PDEGraphics2D g=PDEGraphics2D.paint(Window c);
PDEGraphics2D g=PDEGraphics2D.paint(JApplet c);
Creating animations:
The PDEGraphics2D append()
methods can be used to append paints to
PDEGraphics2D instance to create animations using Processing. The
append()
method should be called after the first use of the instance
to paint a component.
Write methods:
The write
methods create files following a convention that is
intended to facilitate the use of the generated scripts with both the Processing application
and processing.js
javascript
The convention is as follows
If you write a file named e.g. "script_name.pde", the file will be created in a folder named "script_name". This folder will be created if it does not exist. Thus a file specified as "/Users/ML/Documents/script_name", would create "/Users/ML/Documents/script_name/script_name.pde" - the .pde extension will be added if not specified.
If the the paint methods called with the PDEGraphics2D instance include calls
to the drawImage
methods, the required images will be added to a
"/script_name/data/" folder as PNG images. Gradient paints, including
MultipleGradientPaints, are also supported through drawing images and require
a /data folder.
The write
methods also support the creation of HTML files. If the
htmlFlag
on input is true
, the following files can be
created:
script_name.html - a simple file that shows only the graphics
index.html - a styled file that includes titles etc
PDEGraphics2D.css - styling sheet for index.html
index.xml - an xml file describing the contents of the /data folder
htppd.py - a Python 2.7 script that displays index.html in the system default brpwser using a local server. Use this if the default browser's security settings prevent JavaScript accessing the local file system directly.
See the write{)} methods for full details of the options available.PDEGraphics2D has been tested with the following browsers
Adding code and comments to the scripts:
Several methods allow the generated script to be modified on-the-fly when users have access to the paint methods of the components being painted. These methods are defined in AbstractDeployableGraphics2D, the PDEGraphics superclass.Titles etc
PDEGraphics can only render graphics normally rendered through Java2D graphics calls. When painting using a proprietary, platform-specific, Java look-and-feel, some features may be painted using native graphics calls and will not appear in the generated scripts. For example, JFrames will not be decorated with close/maximize buttons etc.
In addition, some components may not render fully perhaps because the componentUIs are cloning the wrapped Graphics2D instance instead of the PDEGraphics2D instance or maybe generating a new instance with a call to Component.getGraphics(). This seems to affect mainly the Mac Aqua L&F. Some fixes/workarounds are included for specific L&Fs and AWT/Swing components where the cause of the problem has been identified.
Revisions: 14.05.2013 corrected drawString(AttributedCharacterIterator iterator, float x, float y). 14.05.2013 corrected handling of special cases from processShape(...). 15.05.2013 improved support for quadTo: now built from flattened pathiterator: heavy-handed perhaps but works with any control points and produces relatively compact output (2-3 lines of processing code per SEG_QUADTO). 15.05.2013 Add support for rotated text. 18.05.2013 Improved write options, CSS options etc. 27.05.2013 Minor improvements: colors, sizing of images.AbstractDeployableGraphics2D.GJPathSegmentInfo
Modifier and Type | Field and Description |
---|---|
static int |
aquaFixes |
static int |
aquaJButton
MacOS Aqua L&F
|
latency, parentGraphics, pictures, startTime
Constructor and Description |
---|
PDEGraphics2D(java.awt.Graphics2D g,
java.awt.Dimension d)
Constructs an initialised PDEGraphics2D object of specified width and
height.
|
PDEGraphics2D(java.awt.Graphics2D g,
int w,
int h)
Constructs an initialised PDEGraphics2D object of specified width and
height.
|
Modifier and Type | Method and Description |
---|---|
void |
addCode(java.lang.String code)
Inserts user-specified code into the coded output at the current
location.
|
void |
addComment(java.lang.String comment)
Sets a string that will be added to the code output as a comment.
|
void |
addKeyWord(java.lang.String word) |
void |
append(java.awt.Component c)
Appends a paint of the specified component to this instance.
|
void |
append(java.awt.Component c,
int elapsedTime)
Appends a paint of the specified component to this instance.
|
void |
appendCode(java.lang.String code)
Adds user-specified code to the end of the generated code.
|
void |
clearRect(int x,
int y,
int width,
int height) |
protected java.lang.Object |
clone() |
void |
copyArea(int x,
int y,
int width,
int height,
int dx,
int dy) |
boolean |
copyImage(java.awt.Image img,
int dx,
int dy,
int sx,
int sy,
int width,
int height,
java.awt.Color bgcolor,
java.awt.image.ImageObserver observer)
Implemented in some Graphics2D subclasses e.g.
|
java.awt.Graphics |
create() |
java.awt.Graphics |
create(int x,
int y,
int width,
int height) |
void |
draw(java.awt.Shape s) |
void |
drawArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle) |
void |
drawBytes(byte[] data,
int offset,
int length,
int x,
int y) |
void |
drawGlyphVector(java.awt.font.GlyphVector vec,
float x,
float y) |
void |
drawImage(java.awt.image.BufferedImage img,
java.awt.image.BufferedImageOp op,
int x,
int y) |
boolean |
drawImage(java.awt.Image img,
java.awt.geom.AffineTransform xform,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int x,
int y,
java.awt.Color bgcolor,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int x,
int y,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int x,
int y,
int width,
int height,
java.awt.Color bgcolor,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int x,
int y,
int width,
int height,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
java.awt.Color bgcolor,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
java.awt.image.ImageObserver observer) |
void |
drawLine(int x1,
int y1,
int x2,
int y2) |
void |
drawOval(int x,
int y,
int width,
int height) |
void |
drawPolygon(int[] xPoints,
int[] yPoints,
int nPoints) |
void |
drawPolyline(int[] xPoints,
int[] yPoints,
int nPoints) |
void |
drawRect(int x,
int y,
int w,
int h) |
void |
drawRenderableImage(java.awt.image.renderable.RenderableImage img,
java.awt.geom.AffineTransform xform) |
void |
drawRenderedImage(java.awt.image.RenderedImage img,
java.awt.geom.AffineTransform xform) |
void |
drawRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight) |
void |
drawString(java.text.AttributedCharacterIterator iterator,
float x,
float y) |
void |
drawString(java.text.AttributedCharacterIterator iterator,
int x,
int y) |
void |
drawString(java.lang.String str,
float x,
float y) |
void |
drawString(java.lang.String str,
int x,
int y) |
void |
fill(java.awt.Shape s) |
void |
fillArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle) |
void |
fillOval(int x,
int y,
int width,
int height) |
void |
fillPolygon(int[] xPoints,
int[] yPoints,
int nPoints) |
void |
fillRect(int x,
int y,
int w,
int h) |
void |
fillRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight) |
java.lang.String |
getCode() |
java.lang.String |
getDescription()
Returns the description.
|
java.util.ArrayList<java.lang.String> |
getKeyWords()
Returns a shallow copy the the keywords.
|
int |
getLFFixes()
Returns an integer value, the bits of which indicate the use of
fixes/workarounds for the look and feel in use.
|
java.lang.String |
getTitle()
Returns the title.
|
static java.lang.String |
getUserHTML() |
boolean |
isTextAsShapes()
Return the textAsShapes setting.
|
boolean |
isVerbose() |
static PDEGraphics2D |
paint(java.awt.Component c)
Convenience static method for painting an AWT Component and its contents.
|
static PDEGraphics2D |
paint(javax.swing.JApplet c)
Convenience static method for painting an Swing JApplet and its contents.
|
static PDEGraphics2D |
paint(javax.swing.JComponent c)
Convenience static method for painting an Swing JComponent and its
contents.
|
static PDEGraphics2D |
paint(java.awt.Window c)
Convenience static method for painting an AWT Window and its contents.
|
void |
prependCode(java.lang.String code)
Inserts user-specified code at the start of the generated code, but after
any automatically generated declarations (which are therefore potentially
available for use in that code).
|
void |
setColor(java.awt.Color c) |
void |
setDescription(java.lang.String description)
Creates a description.
|
void |
setKeyWords(java.util.ArrayList<java.lang.String> keyWords)
Sets the keyWords list.
|
void |
setPaint(java.awt.Paint p) |
void |
setPaintObject(java.lang.Object referenceObject)
Call this routine in the painting mechanism of an AWT/Swing hierarchy.
|
void |
setStroke(java.awt.Stroke s2) |
void |
setTextAsShapes(boolean textAsShapes)
Sets the textAsShapes setting.
|
void |
setTitle(java.lang.String title)
Creates a title.
|
static void |
setUserHTML(java.lang.String aUserHTML) |
void |
setVerbose(boolean verbose) |
void |
write(java.io.File f,
boolean htmlFlag,
java.lang.String jsLoc,
java.lang.String cssLoc,
boolean httpdFlag)
Writes the generated code to file.
|
void |
write(java.lang.String fileName)
Writes the generated code to file.
|
void |
write(java.lang.String fileName,
boolean htmlFlag)
Writes the generated code to file.
|
void |
write(java.lang.String fileName,
boolean htmlFlag,
java.lang.String jsLoc)
Writes the generated code to file.
|
void |
write(java.lang.String fileName,
boolean htmlFlag,
java.lang.String jsLoc,
java.lang.String cssLoc,
boolean httpdFlag)
Writes the generated code to file.
|
addRenderingHints, clip, clipRect, dispose, draw3DRect, fill3DRect, getActionDelay, getBackground, getClip, getClipBounds, getColor, getComposite, getDeviceConfiguration, getFont, getFontMetrics, getFontRenderContext, getPaint, getRenderingHint, getRenderingHints, getStroke, getTransform, hit, isAlsoPaintToSource, rotate, rotate, scale, setActionDelay, setAlsoPaintToSource, setBackground, setClip, setClip, setComposite, setFont, setPaintMode, setRenderingHint, setRenderingHints, setTransform, setXORMode, shear, transform, translate, translate, write
public static final int aquaJButton
public static final int aquaFixes
public PDEGraphics2D(java.awt.Graphics2D g, int w, int h)
g
- Graphics2D object for the java component to be drawn.w
- the width of the componenth
- the height of the componentpublic PDEGraphics2D(java.awt.Graphics2D g, java.awt.Dimension d)
g
- Graphics2D object for the java component to be drawn.d
- Dimension of the componentpublic static PDEGraphics2D paint(java.awt.Component c)
c
- the component to paintpublic static PDEGraphics2D paint(javax.swing.JComponent c)
c
- the component to paintpublic static PDEGraphics2D paint(java.awt.Window c)
c
- the component to paintpublic static PDEGraphics2D paint(javax.swing.JApplet c)
c
- the component to paintpublic int getLFFixes()
public java.util.ArrayList<java.lang.String> getKeyWords()
public void setKeyWords(java.util.ArrayList<java.lang.String> keyWords)
keyWords
- the keyWords to setpublic void addKeyWord(java.lang.String word)
public java.lang.String getTitle()
public void setTitle(java.lang.String title)
title
- the title to setpublic java.lang.String getDescription()
public void setDescription(java.lang.String description)
description
- the description to setpublic boolean isTextAsShapes()
public void setTextAsShapes(boolean textAsShapes)
textAsShapes
- the textAsShapes to setpublic java.awt.Graphics create()
create
in class java.awt.Graphics
public java.awt.Graphics create(int x, int y, int width, int height)
create
in class java.awt.Graphics
public void append(java.awt.Component c, int elapsedTime)
append
in class AbstractDeployableGraphics2D
c
- the component to paintelapsedTime
- the time to paint this component in the deployed code.public void append(java.awt.Component c)
append(c, elapsedTime)
where elapsedTime is
the interval in milliseconds between the instantiation of this instance
and this call to append
.append
in class AbstractDeployableGraphics2D
c
- the component to paintpublic void write(java.lang.String fileName) throws java.io.IOException
write
in class AbstractDeployableGraphics2D
fileName
- - String describing the file to write to
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOException
public void write(java.lang.String fileName, boolean htmlFlag) throws java.io.IOException
fileName
- - String describing the file to write tohtmlFlag
- - if true, html files to view the script will also be
created.
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOException
public void write(java.lang.String fileName, boolean htmlFlag, java.lang.String jsLoc) throws java.io.IOException
fileName
- - String describing the file to write tohtmlFlag
- - if true, html files to view the script will also be
created.
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
jsLoc
- - String specifying the location of the processing.js file.
If this is "processing.js" or "./processing.js", a copy of the JavaScript
file will be created in the folder alongside the html files. Otherwise,
the string should point to the location of a processing JavaScript file
relative to the HTML file folder OR
describe a URL.
Notes:
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOException
public void write(java.lang.String fileName, boolean htmlFlag, java.lang.String jsLoc, java.lang.String cssLoc, boolean httpdFlag) throws java.io.IOException
fileName
- - String describing the file to write tohtmlFlag
- - if true, html files to view the script will also be
created.
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
jsLoc
- - String specifying the location of the processing.js file.
If this is "processing.js" or "./processing.js", a copy of the JavaScript
file will be created in the folder alongside the html files. Otherwise,
the string should point to the location of a processing JavaScript file
relative to the HTML file folder OR
describe a URL.cssLoc
- - String specifying the location of the CSS styling. If
this is "PDEGraphics2D.css" or "./PDEGraphics2D.css", a copy of the
default CSS settings will be created in the folder alongside the html
files. The the string may also point to the location of a suitable CSS
file relative to the HTML file folder OR
describe a URL. Alternatively, if cssLoc is "index.html" or
"./index.html" the default CSS settings will be embedded in the heml
file.httpdFlag
- If true, a Python 2.7 script ("httpd.py") will be
created alongside the html files which will set up a local server and
display index.html in the system browser. This can be useful if system or
security settings prevent access to the local file system. The port to
use will be obtained by the script from the OS.
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOException
public void write(java.io.File f, boolean htmlFlag, java.lang.String jsLoc, java.lang.String cssLoc, boolean httpdFlag) throws java.io.IOException
f
- - the File
to write tohtmlFlag
- - if true, html files to view the script will also be
created.
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
jsLoc
- - String specifying the location of the processing.js file.
If this is "processing.js" or "./processing.js", a copy of the JavaScript
file will be created in the folder alongside the html files. Otherwise,
the string should point to the location of a processing JavaScript file
relative to the HTML file folder OR
describe a URL.cssLoc
- - String specifying the location of the CSS styling. If
this is "PDEGraphics2D.css" or "./PDEGraphics2D.css", a copy of the
default CSS settings will be created in the folder alongside the html
files. The the string may also point to the location of a suitable CSS
file relative to the HTML file folder OR
describe a URL. Alternatively, if cssLoc is "index.html" or
"./index.html" the default CSS settings will be embedded in the heml
file.httpdFlag
- If true, a Python 2.7 script ("httpd.py") will be
created alongside the html files which will set up a local server and
display index.html in the system browser. This can be useful if system or
security settings prevent access to the local file system. The port to
use will be obtained by the script from the OS.
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOException
public void setStroke(java.awt.Stroke s2)
setStroke
in class AbstractDeployableGraphics2D
public void draw(java.awt.Shape s)
draw
in class AbstractDeployableGraphics2D
public void fill(java.awt.Shape s)
fill
in class AbstractDeployableGraphics2D
public void fillRect(int x, int y, int w, int h)
fillRect
in class AbstractDeployableGraphics2D
public void drawRect(int x, int y, int w, int h)
drawRect
in class AbstractDeployableGraphics2D
public void drawString(java.lang.String str, int x, int y)
drawString
in class AbstractDeployableGraphics2D
public void drawString(java.text.AttributedCharacterIterator iterator, int x, int y)
drawString
in class AbstractDeployableGraphics2D
public void drawString(java.lang.String str, float x, float y)
drawString
in class AbstractDeployableGraphics2D
public void drawString(java.text.AttributedCharacterIterator iterator, float x, float y)
drawString
in class AbstractDeployableGraphics2D
public void drawGlyphVector(java.awt.font.GlyphVector vec, float x, float y)
drawGlyphVector
in class AbstractDeployableGraphics2D
public void drawLine(int x1, int y1, int x2, int y2)
drawLine
in class AbstractDeployableGraphics2D
public void clearRect(int x, int y, int width, int height)
clearRect
in class AbstractDeployableGraphics2D
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
drawRoundRect
in class AbstractDeployableGraphics2D
public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
fillRoundRect
in class AbstractDeployableGraphics2D
public void drawOval(int x, int y, int width, int height)
drawOval
in class AbstractDeployableGraphics2D
public void fillOval(int x, int y, int width, int height)
fillOval
in class AbstractDeployableGraphics2D
public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
drawArc
in class AbstractDeployableGraphics2D
public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
fillArc
in class AbstractDeployableGraphics2D
public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
drawPolyline
in class AbstractDeployableGraphics2D
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
drawPolygon
in class AbstractDeployableGraphics2D
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
fillPolygon
in class AbstractDeployableGraphics2D
public void setColor(java.awt.Color c)
setColor
in class AbstractDeployableGraphics2D
public void setPaint(java.awt.Paint p)
setPaint
in class AbstractDeployableGraphics2D
public boolean copyImage(java.awt.Image img, int dx, int dy, int sx, int sy, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
AbstractDeployableGraphics2D
copyImage
in class AbstractDeployableGraphics2D
public void copyArea(int x, int y, int width, int height, int dx, int dy)
copyArea
in class AbstractDeployableGraphics2D
public void drawBytes(byte[] data, int offset, int length, int x, int y)
drawBytes
in class AbstractDeployableGraphics2D
public boolean drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.image.ImageObserver observer)
drawImage
in class AbstractDeployableGraphics2D
public boolean drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
drawImage
in class AbstractDeployableGraphics2D
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
drawImage
in class AbstractDeployableGraphics2D
public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)
drawImage
in class AbstractDeployableGraphics2D
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
drawImage
in class AbstractDeployableGraphics2D
public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
drawImage
in class AbstractDeployableGraphics2D
public boolean drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, java.awt.image.ImageObserver observer)
drawImage
in class AbstractDeployableGraphics2D
public void drawImage(java.awt.image.BufferedImage img, java.awt.image.BufferedImageOp op, int x, int y)
drawImage
in class AbstractDeployableGraphics2D
public void drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
drawRenderedImage
in class AbstractDeployableGraphics2D
public void drawRenderableImage(java.awt.image.renderable.RenderableImage img, java.awt.geom.AffineTransform xform)
drawRenderableImage
in class AbstractDeployableGraphics2D
public java.lang.String getCode()
getCode
in class AbstractDeployableGraphics2D
public void setPaintObject(java.lang.Object referenceObject)
AbstractDeployableGraphics2D
public void paintComponent(Graphics g){
if (g instanceof AbstractDeployableGraphics2D) {
((AbstractDeployableGraphics2D)g).setPaintObject(this);
}
}
setPaintObject
in class AbstractDeployableGraphics2D
referenceObject
- the paintObject to setpublic void addComment(java.lang.String comment)
AbstractDeployableGraphics2D
addComment
in class AbstractDeployableGraphics2D
comment
- the comment to set as a Stringpublic void addCode(java.lang.String code)
AbstractDeployableGraphics2D
addCode
in class AbstractDeployableGraphics2D
code
- fully formatted code stringpublic void prependCode(java.lang.String code)
AbstractDeployableGraphics2D
prependCode
in class AbstractDeployableGraphics2D
code
- fully formatted code stringpublic void appendCode(java.lang.String code)
AbstractDeployableGraphics2D
appendCode
in class AbstractDeployableGraphics2D
code
- the code to appendprotected java.lang.Object clone()
clone
in class java.lang.Object
public boolean isVerbose()
public void setVerbose(boolean verbose)
verbose
- the verbose to setpublic static java.lang.String getUserHTML()
public static void setUserHTML(java.lang.String aUserHTML)
aUserHTML
- the userHTML to set