Class PrintableComponent

java.lang.Object
weka.gui.visualize.PrintableComponent
All Implemented Interfaces:
PrintableHandler

public class PrintableComponent extends Object implements PrintableHandler
This class extends the component which is handed over in the constructor by a print dialog. The Print dialog is accessible via Alt+Shift+LeftMouseClick.

The individual JComponentWriter-descendants can be accessed by the getWriter(String) method, if the parameters need to be changed.

Version:
$Revision: 15294 $
Author:
FracPete (fracpete at waikato dot ac dot nz)
See Also:
  • Constructor Details

    • PrintableComponent

      public PrintableComponent(JComponent component)
      initializes the panel.
      Parameters:
      component - the component to enhance with printing functionality
  • Method Details

    • getComponent

      public JComponent getComponent()
      returns the GUI component this print dialog is part of.
      Returns:
      the GUI component
    • getToolTipText

      public static String getToolTipText(PrintableComponent component)
      Returns a tooltip only if the user wants it. If retrieved for the first, a dialog pops up and asks the user whether the tooltip should always appear or not. The weka/gui/visualize/Visualize.props is then written in the user's home directory.
      Parameters:
      component - the PrintableComponent to ask for
      Returns:
      null if the user doesn't want the tooltip, otherwise the text
    • getWriters

      public Hashtable<String,JComponentWriter> getWriters()
      returns a Hashtable with the current available JComponentWriters in the save dialog. the key of the Hashtable is the description of the writer.
      Specified by:
      getWriters in interface PrintableHandler
      Returns:
      all currently available JComponentWriters
      See Also:
    • getWriter

      public JComponentWriter getWriter(String name)
      returns the JComponentWriter associated with the given name, is null if not found.
      Specified by:
      getWriter in interface PrintableHandler
      Parameters:
      name - the name of the writer
      Returns:
      the writer associated with the given name
      See Also:
    • setSaveDialogTitle

      public void setSaveDialogTitle(String title)
      sets the title for the save dialog.
      Specified by:
      setSaveDialogTitle in interface PrintableHandler
      Parameters:
      title - the title of the save dialog
    • getSaveDialogTitle

      public String getSaveDialogTitle()
      returns the title for the save dialog.
      Specified by:
      getSaveDialogTitle in interface PrintableHandler
      Returns:
      the title of the save dialog
    • setScale

      public void setScale(double x, double y)
      sets the scale factor.
      Specified by:
      setScale in interface PrintableHandler
      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.
      Specified by:
      getXScale in interface PrintableHandler
      Returns:
      the scale factor
    • getYScale

      public double getYScale()
      returns the scale factor for the y-axis.
      Specified by:
      getYScale in interface PrintableHandler
      Returns:
      the scale factor
    • saveComponent

      public void saveComponent()
      displays a save dialog for saving the panel to a file. Fixes a bug with the Swing JFileChooser: if you entered a new filename in the save dialog and press Enter the getSelectedFile method returns null instead of the filename.
      To solve this annoying behavior we call the save dialog once again s.t. the filename is set. Might look a little bit strange to the user, but no NullPointerException! ;-)
      Specified by:
      saveComponent in interface PrintableHandler