public class JRibbon
extends javax.swing.JComponent
The ribbon has the following major parts:
addTask(RibbonTask)addContextualTaskGroup(RibbonContextualTaskGroup)setApplicationMenuCommand(RibbonApplicationMenuCommandButtonProjection) addTaskbarCommand(Command, AbstractPopupMenuPresentationModel),
addTaskbarGalleryDropdown(RibbonGalleryProjection)
and addTaskbarComponent(ComponentProjection)addAnchoredCommand(CommandButtonProjection)While multiple ribbon tasks can be added to the ribbon, only one is visible at any given time. This task is called the selected task. Tasks can be switched with the task buttons placed along the top part of the ribbon. Once a task has been added to the ribbon, it cannot be removed.
The contextual ribbon task groups allow showing and hiding ribbon tasks based on the current
selection in the application. For example, Word only shows the table tasks when a table is
selected in the document. By default, tasks belonging to the groups added by
addContextualTaskGroup(RibbonContextualTaskGroup) are not visible. To show the tasks
belonging to the specific group, call setVisible(RibbonContextualTaskGroup, boolean)
API. Note that you can have multiple task groups visible at the same time.
The application menu button is a rectangular button shown in the top left corner of the ribbon.
If the setApplicationMenuCommand(RibbonApplicationMenuCommandButtonProjection) is not
called,
or called with the null value, the application menu button is not shown, and ribbon
task buttons are shifted to the left.
The taskbar panel allows showing controls that are visible no matter what ribbon task is
selected. To add a taskbar component use the addTaskbarCommand(Command, AbstractPopupMenuPresentationModel),
addTaskbarGalleryDropdown(RibbonGalleryProjection) and
addTaskbarComponent(ComponentProjection) APIs. The taskbar panel lives in the top-left
corner of the application frame.
The ribbon can be minimized in one of the following ways:
setMinimized(boolean) with true.Meta+Alt+R key combination on a Mac machine or
Ctrl+F1 key combination on a non-Mac machine.A minimized ribbon shows the application menu button, taskbar panel, task buttons and anchored contet, but not the ribbon bands of the selected task. Clicking a task button shows the ribbon bands of that task in a popup without shifting the application content down.
| Modifier and Type | Class | Description |
|---|---|---|
static interface |
JRibbon.OnShowContextualMenuListener |
|
static interface |
JRibbon.OnTaskSelectionChangeListener |
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy| Modifier and Type | Field | Description |
|---|---|---|
static java.lang.String |
uiClassID |
The UI class ID string.
|
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT| Constructor | Description |
|---|---|
JRibbon() |
Creates a new empty ribbon.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addAnchoredCommand(CommandButtonProjection projection) |
Adds the specified ribbon command projection to the trailing edge of the task toggle strip
of this ribbon.
|
void |
addChangeListener(javax.swing.event.ChangeListener l) |
Adds the specified change listener to track changes to this ribbon.
|
void |
addContextualTaskGroup(RibbonContextualTaskGroup group) |
Adds the specified contextual task group to this ribbon.
|
void |
addOnTaskSelectionChangedListener(JRibbon.OnTaskSelectionChangeListener listener) |
|
void |
addTask(RibbonTask task) |
Adds the specified task to this ribbon.
|
void |
addTaskbarAppMenuLink(Command appMenuCommand) |
|
void |
addTaskbarCommand(Command command,
AbstractPopupMenuPresentationModel popupMenuPresentationModel) |
Adds the specified command to the taskbar area of this ribbon.
|
void |
addTaskbarComponent(ComponentProjection<? extends javax.swing.JComponent,? extends ComponentContentModel> projection) |
|
void |
addTaskbarGalleryDropdown(RibbonGalleryProjection galleryProjection) |
|
void |
clearTaskbar() |
Removes all taskbar content from this ribbon.
|
protected void |
fireStateChanged() |
Notifies all registered listeners that the state of this ribbon has changed.
|
java.util.List<CommandButtonProjection> |
getAnchoredCommands() |
Returns the anchored commands for this ribbon.
|
RibbonApplicationMenuCommandButtonProjection |
getApplicationMenuCommandProjection() |
|
org.pushingpixels.flamingo.internal.ui.ribbon.appmenu.RibbonApplicationMenuProjection |
getApplicationMenuProjection() |
Returns the application menu of this ribbon.
|
RibbonContextualTaskGroup |
getContextualTaskGroup(int index) |
Retrieves contextual task group at specified index.
|
int |
getContextualTaskGroupCount() |
Returns the number of contextual task groups in
this ribbon. |
JRibbon.OnShowContextualMenuListener |
getOnShowContextualMenuListener() |
|
JRibbonFrame |
getRibbonFrame() |
Returns the ribbon frame that hosts this ribbon.
|
RibbonTask |
getSelectedTask() |
Returns the currently selected task.
|
RibbonTask |
getTask(int index) |
Retrieves the regular task at specified index.
|
java.util.List<java.awt.Component> |
getTaskbarComponents() |
|
RibbonTaskbarKeyTipPolicy |
getTaskbarKeyTipPolicy() |
|
int |
getTaskCount() |
Returns the number of regular tasks in
this ribbon. |
org.pushingpixels.flamingo.internal.ui.ribbon.RibbonUI |
getUI() |
Returns the UI delegate for this component.
|
java.lang.String |
getUIClassID() |
|
boolean |
isMinimized() |
Returns the indication whether this ribbon is minimized.
|
boolean |
isShowingInTaskbar(Command command) |
|
boolean |
isShowingInTaskbar(RibbonGalleryContentModel galleryContentModel) |
|
boolean |
isShowingInTaskbar(ComponentContentModel componentContentModel) |
|
boolean |
isVisible(RibbonContextualTaskGroup group) |
Returns the visibility of ribbon tasks in the specified contextual task group.
|
void |
removeAnchoredCommand(CommandButtonProjection projection) |
Removes the specified ribbon command from the trailing edge of the task toggle strip of this
ribbon.
|
void |
removeChangeListener(javax.swing.event.ChangeListener l) |
Removes the specified change listener from tracking changes to this ribbon.
|
void |
removeOnTaskSelectionChangedListener(JRibbon.OnTaskSelectionChangeListener listener) |
|
void |
removeTaskbarCommand(Command command) |
|
void |
removeTaskbarComponent(ComponentContentModel componentContentModel) |
|
void |
removeTaskbarGallery(RibbonGalleryContentModel galleryContentModel) |
|
void |
setApplicationMenuCommand(RibbonApplicationMenuCommandButtonProjection applicationMenuCommandProjection) |
Sets the application menu command for this ribbon.
|
void |
setMinimized(boolean isMinimized) |
Changes the minimized state of this ribbon.
|
void |
setOnShowContextualMenuListener(JRibbon.OnShowContextualMenuListener onShowContextualMenuListener) |
|
void |
setSelectedTask(RibbonTask task) |
Selects the specified task.
|
void |
setTaskbarKeyTipPolicy(RibbonTaskbarKeyTipPolicy taskbarKeyTipPolicy) |
|
void |
setVisible(boolean flag) |
|
void |
setVisible(RibbonContextualTaskGroup group,
boolean isVisible) |
Sets the visibility of ribbon tasks in the specified contextual task group.
|
void |
updateUI() |
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, transferFocusUpCycleadd, 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, validateTreeaddAncestorListener, 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, unregisterKeyboardAction, updatepublic static final java.lang.String uiClassID
public JRibbon()
JRibbonFrame
and access the ribbon with JRibbonFrame.getRibbon() API.public void setTaskbarKeyTipPolicy(RibbonTaskbarKeyTipPolicy taskbarKeyTipPolicy)
public RibbonTaskbarKeyTipPolicy getTaskbarKeyTipPolicy()
public void addTaskbarCommand(Command command, AbstractPopupMenuPresentationModel popupMenuPresentationModel)
command - The taskbar command to add.popupMenuPresentationModel - Optional presentation model for the popup menu of the command.
This must be set if Command.getSecondaryContentModel()
has non-null CommandMenuContentModel.getPanelContentModel().
Otherwise it can be null.clearTaskbar()public boolean isShowingInTaskbar(Command command)
public void removeTaskbarCommand(Command command)
public void addTaskbarAppMenuLink(Command appMenuCommand)
public void addTaskbarComponent(ComponentProjection<? extends javax.swing.JComponent,? extends ComponentContentModel> projection)
public boolean isShowingInTaskbar(ComponentContentModel componentContentModel)
public void removeTaskbarComponent(ComponentContentModel componentContentModel)
public void addTaskbarGalleryDropdown(RibbonGalleryProjection galleryProjection)
public boolean isShowingInTaskbar(RibbonGalleryContentModel galleryContentModel)
public void removeTaskbarGallery(RibbonGalleryContentModel galleryContentModel)
public void clearTaskbar()
public void addTask(RibbonTask task)
task - The ribbon task to add.addContextualTaskGroup(RibbonContextualTaskGroup),
getTaskCount(),
getTask(int)public void addAnchoredCommand(CommandButtonProjection projection)
projection - Command projection to add.getAnchoredCommands(),
removeAnchoredCommand(CommandButtonProjection)public void removeAnchoredCommand(CommandButtonProjection projection)
projection - Command projection to remove.getAnchoredCommands(),
addAnchoredCommand(CommandButtonProjection)public java.util.List<CommandButtonProjection> getAnchoredCommands()
addAnchoredCommand(CommandButtonProjection),
removeAnchoredCommand(CommandButtonProjection)public void addContextualTaskGroup(RibbonContextualTaskGroup group)
group - Task group to add.addTask(RibbonTask),
setVisible(RibbonContextualTaskGroup, boolean),
isVisible(RibbonContextualTaskGroup)public int getTaskCount()
this ribbon.this ribbon.getTask(int),
addTask(RibbonTask)public RibbonTask getTask(int index)
index - Task index.getTaskCount(),
addTask(RibbonTask)public int getContextualTaskGroupCount()
this ribbon.this ribbon.addContextualTaskGroup(RibbonContextualTaskGroup),
getContextualTaskGroup(int)public RibbonContextualTaskGroup getContextualTaskGroup(int index)
index - Group index.addContextualTaskGroup(RibbonContextualTaskGroup),
getContextualTaskGroupCount()public void setSelectedTask(RibbonTask task)
addTask(RibbonTask)) or a task in a visible contextual task group (added with
addContextualTaskGroup(RibbonContextualTaskGroup). Fires a selectedTask
property change event.task - Task to select.java.lang.IllegalArgumentException - If the specified task is not in the ribbon or not visible.getSelectedTask()public RibbonTask getSelectedTask()
setSelectedTask(RibbonTask)public void updateUI()
updateUI in class javax.swing.JComponentpublic org.pushingpixels.flamingo.internal.ui.ribbon.RibbonUI getUI()
getUI in class javax.swing.JComponentRibbonUI objectJComponent.setUI(javax.swing.plaf.ComponentUI)public java.lang.String getUIClassID()
getUIClassID in class javax.swing.JComponentpublic java.util.List<java.awt.Component> getTaskbarComponents()
public void addChangeListener(javax.swing.event.ChangeListener l)
l - Change listener to add.removeChangeListener(ChangeListener)public void removeChangeListener(javax.swing.event.ChangeListener l)
l - Change listener to remove.addChangeListener(ChangeListener)protected void fireStateChanged()
public void setVisible(RibbonContextualTaskGroup group, boolean isVisible)
group - Contextual task group.isVisible - If true, all ribbon tasks in the specified group will be
visible. If
false, all ribbon tasks in the specified group will be hidden.isVisible(RibbonContextualTaskGroup)public boolean isVisible(RibbonContextualTaskGroup group)
group - Contextual task group.true if the ribbon tasks in the specified group are visible,
false otherwise.public void setApplicationMenuCommand(RibbonApplicationMenuCommandButtonProjection applicationMenuCommandProjection)
null is passed, the
application menu button is hidden.applicationMenuCommandProjection - The new application menu command. Can be
null.getApplicationMenuProjection()public RibbonApplicationMenuCommandButtonProjection getApplicationMenuCommandProjection()
public org.pushingpixels.flamingo.internal.ui.ribbon.appmenu.RibbonApplicationMenuProjection getApplicationMenuProjection()
setApplicationMenuCommand(RibbonApplicationMenuCommandButtonProjection)public boolean isMinimized()
true if this ribbon is minimized, false otherwise.setMinimized(boolean)public void setMinimized(boolean isMinimized)
minimized property change
event.isMinimized - if true, this ribbon becomes minimized, otherwise it is
unminimized.public JRibbonFrame getRibbonFrame()
null.public void setVisible(boolean flag)
setVisible in class javax.swing.JComponentpublic void setOnShowContextualMenuListener(JRibbon.OnShowContextualMenuListener onShowContextualMenuListener)
public JRibbon.OnShowContextualMenuListener getOnShowContextualMenuListener()
public void addOnTaskSelectionChangedListener(JRibbon.OnTaskSelectionChangeListener listener)
public void removeOnTaskSelectionChangedListener(JRibbon.OnTaskSelectionChangeListener listener)