Class PrintableComponent

  • All Implemented Interfaces:
    PrintableHandler

    public class PrintableComponent
    extends java.lang.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: 7059 $
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    getWriters(), getWriter(String)
    • Constructor Summary

      Constructors 
      Constructor Description
      PrintableComponent​(javax.swing.JComponent component)
      initializes the panel.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.swing.JComponent getComponent()
      returns the GUI component this print dialog is part of.
      java.lang.String getSaveDialogTitle()
      returns the title for the save dialog.
      static java.lang.String getToolTipText​(PrintableComponent component)
      Returns a tooltip only if the user wants it.
      JComponentWriter getWriter​(java.lang.String name)
      returns the JComponentWriter associated with the given name, is null if not found.
      java.util.Hashtable getWriters()
      returns a Hashtable with the current available JComponentWriters in the save dialog.
      double getXScale()
      returns the scale factor for the x-axis.
      double getYScale()
      returns the scale factor for the y-axis.
      void saveComponent()
      displays a save dialog for saving the panel to a file.
      void setSaveDialogTitle​(java.lang.String title)
      sets the title for the save dialog.
      void setScale​(double x, double y)
      sets the scale factor.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PrintableComponent

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

      • getComponent

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

        public static java.lang.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 java.util.Hashtable 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:
        JComponentWriter.getDescription()
      • setSaveDialogTitle

        public void setSaveDialogTitle​(java.lang.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 java.lang.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