Class 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

      Nested Classes 
      Modifier and Type Class Description
      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

      Fields 
      Modifier and Type Field Description
      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

        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
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractTabbedUI()
      Default constructor.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      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, 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, getUI, 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, 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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.