Class SimpleScrollPane

  • All Implemented Interfaces:
    java.awt.event.MouseWheelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, javax.swing.ScrollPaneConstants

    public class SimpleScrollPane
    extends javax.swing.JScrollPane
    implements javax.swing.event.ChangeListener, java.awt.event.MouseWheelListener
    SimpleScrollPane is a special scroll pane. There is no scroll bar. It just uses four scroll buttons to do the scrolling.
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  SimpleScrollPane.ScrollButton
      The scroll button for SimpleScrollPane.
      • Nested classes/interfaces inherited from class javax.swing.JScrollPane

        javax.swing.JScrollPane.AccessibleJScrollPane, javax.swing.JScrollPane.ScrollBar
      • 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
      static java.lang.String SCROLL_DOWN_BUTTON  
      static java.lang.String SCROLL_LEFT_BUTTON  
      static java.lang.String SCROLL_RIGHT_BUTTON  
      static java.lang.String SCROLL_UP_BUTTON  
      • Fields inherited from class javax.swing.JScrollPane

        columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
      • 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
      • Fields inherited from interface javax.swing.ScrollPaneConstants

        COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleScrollPane()
      Creates an empty (no viewport view) JideScrollPane where both horizontal and vertical scrollbars appear when needed.
      SimpleScrollPane​(int vsbPolicy, int hsbPolicy)
      Creates an empty (no viewport view) JideScrollPane with specified scrollbar policies.
      SimpleScrollPane​(java.awt.Component view)
      Creates a JideScrollPane that displays the contents of the specified component, where both horizontal and vertical scrollbars appear whenever the component's contents are larger than the view.
      SimpleScrollPane​(java.awt.Component view, int vsbPolicy, int hsbPolicy)
      Creates a JideScrollPane that displays the view component in a viewport whose view position can be controlled with a pair of scrollbars.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected javax.swing.AbstractButton createScrollButton​(int type)
      Creates the scroll button.
      int getHorizontalUnitIncrement()  
      int getRepeatDelay()
      Gets the delay in ms between each unit scrolling.
      javax.swing.AbstractButton getScrollDownButton()  
      javax.swing.AbstractButton getScrollLeftButton()  
      javax.swing.AbstractButton getScrollRightButton()  
      javax.swing.AbstractButton getScrollUpButton()  
      int getVerticalUnitIncrement()  
      java.awt.Rectangle getViewportBorderBounds()  
      boolean isScrollOnRollover()
      Checks if the scroll button scrolls on rollover.
      void mouseWheelMoved​(java.awt.event.MouseWheelEvent e)  
      void scroll​(javax.swing.JViewport viewport, int type)  
      void setHorizontalUnitIncrement​(int horizontalUnitIncrement)  
      void setRepeatDelay​(int repeatDelay)
      Sets the delay in ms between each unit scrolling.
      void setScrollDownButton​(javax.swing.AbstractButton scrollDownButton)  
      void setScrollLeftButton​(javax.swing.AbstractButton scrollLeftButton)  
      void setScrollOnRollover​(boolean scrollOnRollover)
      Sets scroll on rollover.
      void setScrollRightButton​(javax.swing.AbstractButton scrollRightButton)  
      void setScrollUpButton​(javax.swing.AbstractButton scrollUpButton)  
      void setVerticalUnitIncrement​(int verticalUnitIncrement)  
      void setWheelScrollingEnabled​(boolean handleWheel)  
      void stateChanged​(javax.swing.event.ChangeEvent e)  
      protected void updateButtonState()  
      void updateUI()  
      • Methods inherited from class javax.swing.JScrollPane

        createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView
      • 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, 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, 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, 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
    • Constructor Detail

      • SimpleScrollPane

        public SimpleScrollPane​(java.awt.Component view,
                                int vsbPolicy,
                                int hsbPolicy)
        Creates a JideScrollPane that displays the view component in a viewport whose view position can be controlled with a pair of scrollbars. The scrollbar policies specify when the scrollbars are displayed, For example, if vsbPolicy is VERTICAL_SCROLLBAR_AS_NEEDED then the vertical scrollbar only appears if the view doesn't fit vertically. The available policy settings are listed at JScrollPane.setVerticalScrollBarPolicy(int) and JScrollPane.setHorizontalScrollBarPolicy(int).
        Parameters:
        view - the component to display in the scrollpanes viewport
        vsbPolicy - an integer that specifies the vertical scrollbar policy
        hsbPolicy - an integer that specifies the horizontal scrollbar policy
        See Also:
        JScrollPane.setViewportView(java.awt.Component)
      • SimpleScrollPane

        public SimpleScrollPane​(java.awt.Component view)
        Creates a JideScrollPane that displays the contents of the specified component, where both horizontal and vertical scrollbars appear whenever the component's contents are larger than the view.
        Parameters:
        view - the component to display in the scrollpane's viewport
        See Also:
        JScrollPane.setViewportView(java.awt.Component)
      • SimpleScrollPane

        public SimpleScrollPane​(int vsbPolicy,
                                int hsbPolicy)
        Creates an empty (no viewport view) JideScrollPane with specified scrollbar policies. The available policy settings are listed at JScrollPane.setVerticalScrollBarPolicy(int) and JScrollPane.setHorizontalScrollBarPolicy(int).
        Parameters:
        vsbPolicy - an integer that specifies the vertical scrollbar policy
        hsbPolicy - an integer that specifies the horizontal scrollbar policy
        See Also:
        JScrollPane.setViewportView(java.awt.Component)
      • SimpleScrollPane

        public SimpleScrollPane()
        Creates an empty (no viewport view) JideScrollPane where both horizontal and vertical scrollbars appear when needed.
    • Method Detail

      • updateUI

        public void updateUI()
        Overrides:
        updateUI in class javax.swing.JScrollPane
      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent e)
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
      • getScrollUpButton

        public javax.swing.AbstractButton getScrollUpButton()
      • setScrollUpButton

        public void setScrollUpButton​(javax.swing.AbstractButton scrollUpButton)
      • getScrollDownButton

        public javax.swing.AbstractButton getScrollDownButton()
      • setScrollDownButton

        public void setScrollDownButton​(javax.swing.AbstractButton scrollDownButton)
      • getScrollLeftButton

        public javax.swing.AbstractButton getScrollLeftButton()
      • setScrollLeftButton

        public void setScrollLeftButton​(javax.swing.AbstractButton scrollLeftButton)
      • getScrollRightButton

        public javax.swing.AbstractButton getScrollRightButton()
      • setScrollRightButton

        public void setScrollRightButton​(javax.swing.AbstractButton scrollRightButton)
      • createScrollButton

        protected javax.swing.AbstractButton createScrollButton​(int type)
        Creates the scroll button. You can override this method to change the attributes on the button. For example, you can do this to create a bigger scroll button.
         SimpleScrollPane pane = new SimpleScrollPane(){
             protected AbstractButton createScrollButton(int type) {
                 AbstractButton scrollButton = super.createScrollButton(type);
                 scrollButton.setPreferredSize(new Dimension(20, 20));
                 return scrollButton;
             }
         };
         
        Parameters:
        type - the type of the scroll button. It could be SwingConstants.NORTH, SwingConstants.SOUTH, SwingConstants.WEST or SwingConstants.EAST .
        Returns:
        the scroll button.
      • updateButtonState

        protected void updateButtonState()
      • scroll

        public void scroll​(javax.swing.JViewport viewport,
                           int type)
      • getViewportBorderBounds

        public java.awt.Rectangle getViewportBorderBounds()
        Overrides:
        getViewportBorderBounds in class javax.swing.JScrollPane
      • getHorizontalUnitIncrement

        public int getHorizontalUnitIncrement()
      • setHorizontalUnitIncrement

        public void setHorizontalUnitIncrement​(int horizontalUnitIncrement)
      • getVerticalUnitIncrement

        public int getVerticalUnitIncrement()
      • setVerticalUnitIncrement

        public void setVerticalUnitIncrement​(int verticalUnitIncrement)
      • isScrollOnRollover

        public boolean isScrollOnRollover()
        Checks if the scroll button scrolls on rollover.
        Returns:
        true if it scrolls on rollover.
      • setScrollOnRollover

        public void setScrollOnRollover​(boolean scrollOnRollover)
        Sets scroll on rollover. If true, the scrolling will start when mouse is placed above the scroll button. If false, the scrolling will start only when you click or press and hold the mouse button.
        Parameters:
        scrollOnRollover - true or false.
      • getRepeatDelay

        public int getRepeatDelay()
        Gets the delay in ms between each unit scrolling.
        Returns:
        the delay.
      • setRepeatDelay

        public void setRepeatDelay​(int repeatDelay)
        Sets the delay in ms between each unit scrolling. By default, it's 50. The big thenumberr, the slow the scrolling.
        Parameters:
        repeatDelay - the new repeat delay.
      • mouseWheelMoved

        public void mouseWheelMoved​(java.awt.event.MouseWheelEvent e)
        Specified by:
        mouseWheelMoved in interface java.awt.event.MouseWheelListener
      • setWheelScrollingEnabled

        public void setWheelScrollingEnabled​(boolean handleWheel)
        Overrides:
        setWheelScrollingEnabled in class javax.swing.JScrollPane