org.jfree.ui.tabbedui
Class AbstractTabbedUI

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by 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.

Author:
Thomas Morgner
See Also:
Serialized Form

Nested Class Summary
protected  class AbstractTabbedUI.ExitAction
          An exit action.
 
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
static java.lang.String GLOBAL_MENU_PROPERTY
          The global menu property.
static java.lang.String JMENUBAR_PROPERTY
          The menu bar property key.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
AbstractTabbedUI()
          Default constructor.
 
Method Summary
 void addRootEditor(RootEditor rootPanel)
          Adds a root editor.
protected abstract  void attempExit()
          Attempts to exit.
protected  javax.swing.Action createCloseAction()
          Creates a close action.
 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.
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, getAccessibleContext, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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
Constructor Detail

AbstractTabbedUI

public AbstractTabbedUI()
Default constructor.

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.

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.

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.