Package org.jfree.ui.tabbedui
Class AbstractTabbedUI
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.jfree.ui.tabbedui.AbstractTabbedUI
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
public abstract class AbstractTabbedUI extends javax.swing.JComponent
A tabbed GUI. All views on the data are contained in tabs.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AbstractTabbedUI.ExitAction
An exit action.private class
AbstractTabbedUI.TabChangeHandler
A tab change handler.private class
AbstractTabbedUI.TabEnableChangeListener
A tab enable change listener.-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.Action
closeAction
The close action assigned to this UI.private javax.swing.JComponent
currentToolbar
The current toolbar.static java.lang.String
GLOBAL_MENU_PROPERTY
The global menu property.private boolean
globalMenu
Whether the UI should build a global menu from all root editors.private javax.swing.JMenuBar
jMenuBar
The current menu bar.static java.lang.String
JMENUBAR_PROPERTY
The menu bar property key.private java.util.ArrayList
rootEditors
The list of root editors.private int
selectedRootEditor
The index of the currently selected root editor.private javax.swing.JTabbedPane
tabbedPane
The tabbed pane filling the content area.private javax.swing.JPanel
toolbarContainer
The container component for the toolbar.-
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 AbstractTabbedUI()
Default constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private void
addMenus(javax.swing.JMenuBar menuBar, javax.swing.JMenu[] customMenus)
Adds menus.void
addRootEditor(RootEditor rootPanel)
Adds a root editor.protected abstract void
attempExit()
Attempts to exit.private void
closeToolbar()
Closes the toolbar.protected javax.swing.Action
createCloseAction()
Creates a close action.private javax.swing.JMenuBar
createEditorMenubar(RootEditor root)
Creates a menu bar.javax.swing.Action
getCloseAction()
Returns the close action.javax.swing.JMenuBar
getJMenuBar()
Returns the menu bar.protected abstract javax.swing.JMenu[]
getPostfixMenus()
The postfix menus.protected abstract javax.swing.JMenu[]
getPrefixMenus()
Returns the prefix menus.RootEditor
getRootEditor(int pos)
Returns the specified editor.int
getRootEditorCount()
Returns the number of root editors.int
getSelectedEditor()
Returns the selected editor.protected javax.swing.JTabbedPane
getTabbedPane()
Returns the tabbed pane.boolean
isGlobalMenu()
Defines whether to use a global unified menu bar, which contains all menus from all tab-panes or whether to use local menubars.void
setGlobalMenu(boolean globalMenu)
Sets the global menu flag.protected void
setJMenuBar(javax.swing.JMenuBar menuBar)
Sets the menu bar.void
setSelectedEditor(int selectedEditor)
Sets the selected editor.private javax.swing.JMenuBar
updateGlobalMenubar()
Updates the global menu bar.protected void
updateRootEditorEnabled(RootEditor editor)
Update handler for the enable state of the root editor.-
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, getUIClassID, 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, updateUI
-
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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
JMENUBAR_PROPERTY
public static final java.lang.String JMENUBAR_PROPERTY
The menu bar property key.- See Also:
- Constant Field Values
-
GLOBAL_MENU_PROPERTY
public static final java.lang.String GLOBAL_MENU_PROPERTY
The global menu property.- See Also:
- Constant Field Values
-
rootEditors
private java.util.ArrayList rootEditors
The list of root editors. One for each tab.
-
tabbedPane
private javax.swing.JTabbedPane tabbedPane
The tabbed pane filling the content area.
-
selectedRootEditor
private int selectedRootEditor
The index of the currently selected root editor.
-
currentToolbar
private javax.swing.JComponent currentToolbar
The current toolbar.
-
toolbarContainer
private javax.swing.JPanel toolbarContainer
The container component for the toolbar.
-
closeAction
private javax.swing.Action closeAction
The close action assigned to this UI.
-
jMenuBar
private javax.swing.JMenuBar jMenuBar
The current menu bar.
-
globalMenu
private boolean globalMenu
Whether the UI should build a global menu from all root editors.
-
-
Method Detail
-
getTabbedPane
protected javax.swing.JTabbedPane getTabbedPane()
Returns the tabbed pane.- Returns:
- The tabbed pane.
-
isGlobalMenu
public boolean isGlobalMenu()
Defines whether to use a global unified menu bar, which contains all menus from all tab-panes or whether to use local menubars.From an usability point of view, global menubars should be preferred, as this way users always see which menus are possibly available and do not wonder where the menus are disappearing.
- Returns:
- true, if global menus should be used, false otherwise.
-
setGlobalMenu
public void setGlobalMenu(boolean globalMenu)
Sets the global menu flag.- Parameters:
globalMenu
- the flag.
-
getJMenuBar
public javax.swing.JMenuBar getJMenuBar()
Returns the menu bar.- Returns:
- The menu bar.
-
setJMenuBar
protected void setJMenuBar(javax.swing.JMenuBar menuBar)
Sets the menu bar.- Parameters:
menuBar
- the menu bar.
-
createCloseAction
protected javax.swing.Action createCloseAction()
Creates a close action.- Returns:
- A close action.
-
getCloseAction
public javax.swing.Action getCloseAction()
Returns the close action.- Returns:
- The close action.
-
getPrefixMenus
protected abstract javax.swing.JMenu[] getPrefixMenus()
Returns the prefix menus.- Returns:
- The prefix menus.
-
getPostfixMenus
protected abstract javax.swing.JMenu[] getPostfixMenus()
The postfix menus.- Returns:
- The postfix menus.
-
addMenus
private void addMenus(javax.swing.JMenuBar menuBar, javax.swing.JMenu[] customMenus)
Adds menus.- Parameters:
menuBar
- the menu barcustomMenus
- the menus that should be added.
-
updateGlobalMenubar
private javax.swing.JMenuBar updateGlobalMenubar()
Updates the global menu bar.- Returns:
- the fully initialized menu bar.
-
createEditorMenubar
private javax.swing.JMenuBar createEditorMenubar(RootEditor root)
Creates a menu bar.- Parameters:
root
-- Returns:
- A menu bar.
-
addRootEditor
public void addRootEditor(RootEditor rootPanel)
Adds a root editor.- Parameters:
rootPanel
- the root panel.
-
getRootEditorCount
public int getRootEditorCount()
Returns the number of root editors.- Returns:
- The count.
-
getRootEditor
public RootEditor getRootEditor(int pos)
Returns the specified editor.- Parameters:
pos
- the position index.- Returns:
- The editor at the given position.
-
getSelectedEditor
public int getSelectedEditor()
Returns the selected editor.- Returns:
- The selected editor.
-
setSelectedEditor
public void setSelectedEditor(int selectedEditor)
Sets the selected editor.- Parameters:
selectedEditor
- the selected editor.
-
closeToolbar
private void closeToolbar()
Closes the toolbar.
-
attempExit
protected abstract void attempExit()
Attempts to exit.
-
updateRootEditorEnabled
protected void updateRootEditorEnabled(RootEditor editor)
Update handler for the enable state of the root editor.- Parameters:
editor
- the editor.
-
-