Class SaveOptionsPanel

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

    public class SaveOptionsPanel
    extends javax.swing.JPanel
    A component (JPanel) which can be displayed in the save dialog to show additional options when saving as JPEG or PNG.
    Since:
    0.2
    Author:
    Simon Mittermüller
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected javax.swing.JCheckBox checkAspectRatio  
      protected javax.swing.JComboBox<java.lang.String> formatSelector  
      private javax.swing.JLabel labelHeight  
      private javax.swing.JLabel labelQual  
      private javax.swing.JLabel labelWidth  
      protected javax.swing.SpinnerNumberModel modelHeight  
      protected javax.swing.SpinnerNumberModel modelQual  
      protected javax.swing.SpinnerNumberModel modelWidth  
      (package private) double ratio
      Ratio for easier size adjustment
      protected javax.swing.JButton resetSizeButton  
      private static long serialVersionUID
      Serial version.
      protected javax.swing.JSpinner spinnerHeight  
      protected javax.swing.JSpinner spinnerQual  
      protected javax.swing.JSpinner spinnerWidth  
      private static java.lang.String STR_CHOOSE_FORMAT  
      private static java.lang.String STR_IMAGE_HEIGHT  
      private static java.lang.String STR_IMAGE_WIDTH  
      private static java.lang.String STR_JPEG_QUALITY  
      private static java.lang.String STR_LOCK_ASPECT_RATIO  
      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      SaveOptionsPanel​(javax.swing.JFileChooser fc, int width, int height)
      Construct a new Save Options Panel.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      float getJPEGQuality()
      Returns the quality value in the quality field.
      java.lang.String getSelectedFormat()
      Return the selected file format.
      int getSelectedHeight()
      Get the user selected height.
      int getSelectedWidth()
      Get the user selected width.
      protected void setFormat​(java.lang.String format)  
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • STR_CHOOSE_FORMAT

        private static final java.lang.String STR_CHOOSE_FORMAT
        See Also:
        Constant Field Values
      • STR_IMAGE_HEIGHT

        private static final java.lang.String STR_IMAGE_HEIGHT
        See Also:
        Constant Field Values
      • STR_LOCK_ASPECT_RATIO

        private static final java.lang.String STR_LOCK_ASPECT_RATIO
        See Also:
        Constant Field Values
      • STR_JPEG_QUALITY

        private static final java.lang.String STR_JPEG_QUALITY
        See Also:
        Constant Field Values
      • serialVersionUID

        private static final long serialVersionUID
        Serial version.
        See Also:
        Constant Field Values
      • ratio

        double ratio
        Ratio for easier size adjustment
      • spinnerWidth

        protected javax.swing.JSpinner spinnerWidth
      • spinnerHeight

        protected javax.swing.JSpinner spinnerHeight
      • spinnerQual

        protected javax.swing.JSpinner spinnerQual
      • modelWidth

        protected javax.swing.SpinnerNumberModel modelWidth
      • modelHeight

        protected javax.swing.SpinnerNumberModel modelHeight
      • modelQual

        protected javax.swing.SpinnerNumberModel modelQual
      • checkAspectRatio

        protected javax.swing.JCheckBox checkAspectRatio
      • resetSizeButton

        protected javax.swing.JButton resetSizeButton
      • formatSelector

        protected javax.swing.JComboBox<java.lang.String> formatSelector
      • labelWidth

        private javax.swing.JLabel labelWidth
      • labelHeight

        private javax.swing.JLabel labelHeight
      • labelQual

        private javax.swing.JLabel labelQual
    • Constructor Detail

      • SaveOptionsPanel

        public SaveOptionsPanel​(javax.swing.JFileChooser fc,
                                int width,
                                int height)
        Construct a new Save Options Panel.
        Parameters:
        fc - File chooser to display in
        width - Default image width
        height - Default image height
    • Method Detail

      • setFormat

        protected void setFormat​(java.lang.String format)
      • getSelectedFormat

        public java.lang.String getSelectedFormat()
        Return the selected file format.
        Returns:
        file format identification
      • getSelectedWidth

        public int getSelectedWidth()
        Get the user selected width.
        Returns:
        Width
      • getSelectedHeight

        public int getSelectedHeight()
        Get the user selected height.
        Returns:
        Height
      • getJPEGQuality

        public float getJPEGQuality()
        Returns the quality value in the quality field. It is ensured that return value is in the range of [0:1]
        Returns:
        Quality value for JPEG.