Class JCommandButtonPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.pushingpixels.radiance.component.api.common.JCommandButtonPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.swing.Scrollable
- Direct Known Subclasses:
AbstractFileViewPanel
public class JCommandButtonPanel extends javax.swing.JComponent implements javax.swing.ScrollablePanel that hosts command buttons. Provides support for button groups, single selection mode (for toggle command buttons), same icon state / dimension and column-fill / row-fill layout. Note that while this class is a part of public API, it is highly recommended to use theCommandPanelContentModelandCommandPanelPresentationModelinstances used to project the command button panel on screen for any dynamic manipulation of the state.Under the default
PanelRowFillSpec, the buttons are laid out in rows, never exceeding the available horizontal space. A vertical scroll bar will kick in once there is not enough vertical space to show all the buttons. The schematic below shows a row-fill command button panel:+-----------------------------+-+ | |o| | +----+ +----+ +----+ +----+ |o| | | 01 | | 02 | | 03 | | 04 | |o| | +----+ +----+ +----+ +----+ |o| | | | | +----+ +----+ +----+ +----+ | | | | 05 | | 06 | | 07 | | 07 | | | | +----+ +----+ +----+ +----+ | | | | | | +----+ +----+ +----+ +----+ | | | | 09 | | 10 | | 11 | | 12 | | | | +----+ +----+ +----+ +----+ | | | | | | +----+ +----+ +----+ +----+ | | | | 13 | | 14 | | 15 | | 16 | | | +-----------------------------+-+
Each row hosts four buttons, and the vertical scroll bar allows scrolling the content up and down.
Under the
PanelColumnFillSpec, the buttons are laid out in columns, never exceeding the available vertical space. A horizontal scroll bar will kick in once there is not enough horizontal space to show all the buttons. The schematic below shows a column-fill command button panel:+---------------------------------+ | | | +----+ +----+ +----+ +----+ +---| | | 01 | | 04 | | 07 | | 10 | | 13| | +----+ +----+ +----+ +----+ +---| | | | +----+ +----+ +----+ +----+ +---| | | 02 | | 05 | | 08 | | 11 | | 14| | +----+ +----+ +----+ +----+ +---| | | | +----+ +----+ +----+ +----+ +---| | | 03 | | 06 | | 09 | | 12 | | 15| | +----+ +----+ +----+ +----+ +---| | | +---------------------------------+ |oooo | +---------------------------------+
Each column hosts three buttons, and the horizontal scroll bar allows scrolling the content left and right.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringuiClassID-
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
-
-
Constructor Summary
Constructors Constructor Description JCommandButtonPanel(Projection<JCommandButtonPanel,CommandPanelContentModel,CommandPanelPresentationModel> projection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.DimensiongetPreferredScrollableViewportSize()Projection<JCommandButtonPanel,CommandPanelContentModel,CommandPanelPresentationModel>getProjection()intgetScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)booleangetScrollableTracksViewportHeight()booleangetScrollableTracksViewportWidth()intgetScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)org.pushingpixels.radiance.component.internal.ui.common.CommandButtonPanelUIgetUI()Returns the UI delegate for this component.java.lang.StringgetUIClassID()voidscrollToSelectedCommand()voidupdateUI()-
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, paramString, 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, getAccessibleContext, 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
-
-
-
-
Field Detail
-
uiClassID
public static final java.lang.String uiClassID
- See Also:
getUIClassID(), Constant Field Values
-
-
Constructor Detail
-
JCommandButtonPanel
public JCommandButtonPanel(Projection<JCommandButtonPanel,CommandPanelContentModel,CommandPanelPresentationModel> projection)
-
-
Method Detail
-
getProjection
public Projection<JCommandButtonPanel,CommandPanelContentModel,CommandPanelPresentationModel> getProjection()
-
getUI
public org.pushingpixels.radiance.component.internal.ui.common.CommandButtonPanelUI getUI()
Returns the UI delegate for this component.- Overrides:
getUIin classjavax.swing.JComponent- Returns:
- a
CommandButtonPanelUIobject - See Also:
JComponent.setUI(javax.swing.plaf.ComponentUI)
-
updateUI
public void updateUI()
- Overrides:
updateUIin classjavax.swing.JComponent
-
getUIClassID
public java.lang.String getUIClassID()
- Overrides:
getUIClassIDin classjavax.swing.JComponent
-
scrollToSelectedCommand
public void scrollToSelectedCommand()
-
getPreferredScrollableViewportSize
public java.awt.Dimension getPreferredScrollableViewportSize()
- Specified by:
getPreferredScrollableViewportSizein interfacejavax.swing.Scrollable
-
getScrollableBlockIncrement
public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)- Specified by:
getScrollableBlockIncrementin interfacejavax.swing.Scrollable
-
getScrollableTracksViewportHeight
public boolean getScrollableTracksViewportHeight()
- Specified by:
getScrollableTracksViewportHeightin interfacejavax.swing.Scrollable
-
getScrollableTracksViewportWidth
public boolean getScrollableTracksViewportWidth()
- Specified by:
getScrollableTracksViewportWidthin interfacejavax.swing.Scrollable
-
getScrollableUnitIncrement
public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)- Specified by:
getScrollableUnitIncrementin interfacejavax.swing.Scrollable
-
-