weka.gui.visualize
Class JComponentWriter

java.lang.Object
  extended by weka.gui.visualize.JComponentWriter
Direct Known Subclasses:
BMPWriter, JPEGWriter, PNGWriter, PostscriptWriter

public abstract class JComponentWriter
extends Object

This class takes any JComponent and outputs it to a file. Scaling is by default enabled. Derived classes only need to override the following methods:

Version:
$Revision: 8034 $
Author:
FracPete (fracpete at waikato dot ac dot nz)
See Also:
setScalingEnabled(boolean)

Constructor Summary
JComponentWriter()
          initializes the object
JComponentWriter(JComponent c)
          initializes the object with the given Component
JComponentWriter(JComponent c, File f)
          initializes the object with the given Component and filename
 
Method Summary
 JComponent getComponent()
          returns the component that is stored in the output format
 int getCustomHeight()
          gets the custom height currently used
 int getCustomWidth()
          gets the custom width currently used
abstract  String getDescription()
          returns the name of the writer, to display in the FileChooser.
abstract  String getExtension()
          returns the extension (incl.
 File getFile()
          returns the file being used for storing the output
 boolean getScalingEnabled()
          whether scaling is enabled or ignored
 boolean getUseCustomDimensions()
          whether custom dimensions are to used for the size of the image
 double getXScale()
          returns the scale factor for the x-axis
 double getYScale()
          returns the scale factor for the y-axis
 void setComponent(JComponent c)
          sets the component to print to an output format
 void setCustomHeight(int value)
          sets the custom height to use
 void setCustomWidth(int value)
          sets the custom width to use
 void setFile(File f)
          sets the file to store the output in
 void setScale(double x, double y)
          sets the scale factor - is ignored since we always create a screenshot!
 void setScalingEnabled(boolean enabled)
          sets whether to enable scaling
 void setUseCustomDimensions(boolean value)
          sets whether to use custom dimensions for the image
 void toOutput()
          saves the current component to the currently set file.
static void toOutput(JComponentWriter writer, JComponent comp, File file)
          outputs the given component with the given writer in the specified file
static void toOutput(JComponentWriter writer, JComponent comp, File file, int width, int height)
          outputs the given component with the given writer in the specified file.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JComponentWriter

public JComponentWriter()
initializes the object


JComponentWriter

public JComponentWriter(JComponent c)
initializes the object with the given Component

Parameters:
c - the component to print in the output format

JComponentWriter

public JComponentWriter(JComponent c,
                        File f)
initializes the object with the given Component and filename

Parameters:
c - the component to print in the output format
f - the file to store the output in
Method Detail

setComponent

public void setComponent(JComponent c)
sets the component to print to an output format

Parameters:
c - the component to print

getComponent

public JComponent getComponent()
returns the component that is stored in the output format

Returns:
the component to print

setFile

public void setFile(File f)
sets the file to store the output in

Parameters:
f - the file to store the output in

getFile

public File getFile()
returns the file being used for storing the output

Returns:
the file to store the output in

getDescription

public abstract String getDescription()
returns the name of the writer, to display in the FileChooser. must be overridden in the derived class.

Returns:
the name of the writer

getExtension

public abstract String getExtension()
returns the extension (incl. ".") of the output format, to use in the FileChooser. must be overridden in the derived class.

Returns:
the file extension

getScalingEnabled

public boolean getScalingEnabled()
whether scaling is enabled or ignored

Returns:
true if scaling is enabled

setScalingEnabled

public void setScalingEnabled(boolean enabled)
sets whether to enable scaling

Parameters:
enabled - whether scaling is enabled

setScale

public void setScale(double x,
                     double y)
sets the scale factor - is ignored since we always create a screenshot!

Parameters:
x - the scale factor for the x-axis
y - the scale factor for the y-axis

getXScale

public double getXScale()
returns the scale factor for the x-axis

Returns:
the scale scale factor for the x-axis

getYScale

public double getYScale()
returns the scale factor for the y-axis

Returns:
the scale scale factor for the y-axis

getUseCustomDimensions

public boolean getUseCustomDimensions()
whether custom dimensions are to used for the size of the image

Returns:
true if custom dimensions are used

setUseCustomDimensions

public void setUseCustomDimensions(boolean value)
sets whether to use custom dimensions for the image

Parameters:
value - whether custom dimensions are used

setCustomWidth

public void setCustomWidth(int value)
sets the custom width to use

Parameters:
value - the width to use
See Also:
m_UseCustomDimensions

getCustomWidth

public int getCustomWidth()
gets the custom width currently used

Returns:
the custom width currently used
See Also:
m_UseCustomDimensions

setCustomHeight

public void setCustomHeight(int value)
sets the custom height to use

Parameters:
value - the height to use
See Also:
m_UseCustomDimensions

getCustomHeight

public int getCustomHeight()
gets the custom height currently used

Returns:
the custom height currently used
See Also:
m_UseCustomDimensions

toOutput

public void toOutput()
              throws Exception
saves the current component to the currently set file.

Note: this method calls generateOutput() which needs to be overriden in subclasses!

Throws:
Exception - if either the file or the component is null

toOutput

public static void toOutput(JComponentWriter writer,
                            JComponent comp,
                            File file)
                     throws Exception
outputs the given component with the given writer in the specified file

Parameters:
writer - the writer to use
comp - the component to output
file - the file to store the output in
Throws:
Exception - if component of file are null

toOutput

public static void toOutput(JComponentWriter writer,
                            JComponent comp,
                            File file,
                            int width,
                            int height)
                     throws Exception
outputs the given component with the given writer in the specified file. If width and height are different from -1 then these sizes are used, otherwise the current ones of the component

Parameters:
writer - the writer to use
comp - the component to output
file - the file to store the output in
width - custom width, -1 uses the component's one
height - custom height, -1 uses the component's one
Throws:
Exception - if component or file are null


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.