de.uni_paderborn.fujaba.gui.mdi
Class DesktopTaskBar

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byde.uni_paderborn.fujaba.gui.mdi.DesktopTaskBar
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class DesktopTaskBar
extends javax.swing.JPanel
implements java.awt.event.ActionListener

Provide a taskbar alike pane for internal frames in a JDesktopPane.

Version:
$Revision: 1.14 $ $Date: 2005/03/02 13:23:19 $
Author:
$Author: zuendorf $
See Also:
Serialized Form

Nested Class Summary
private  class DesktopTaskBar.ButttonPanel
          No comment provided by developer, please add a comment to improve documentation.
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String BACK_ICON_NAME
          Filename of the 'back' icon, relative to class' package
private  javax.swing.JButton backButton
          'back' button (select previously selected internal frame)
(package private)  de.upb.tools.fca.FLinkedList backList
          list of frames that were selected (most recently selected is the last one in the list)
(package private)  javax.swing.JDesktopPane desktop
          desktop for frames
static java.lang.String FORTH_ICON_NAME
          Filename of the 'forth' icon, relative to class' package
private  javax.swing.JButton forthButton
          'forth' button (select internal frame recently left by the 'back' button)
(package private)  de.upb.tools.fca.FLinkedList forthList
          list of frames that were visited and left by the 'back' button (most recently left is the first one in the list)
(package private)  boolean inBackForth
          true while processing 'back' or 'forth' request
(package private)  long lastEventTime
          last value of System.currentTimeMillis() upon occurence of last frame event
private static int MAX_TITLE_LENGTH
          No comment provided by developer, please add a comment to improve documentation.
static int PREFERRED_BUTTON_HEIGHT
          No comment provided by developer, please add a comment to improve documentation.
(package private)  DesktopTaskBar.ButttonPanel taskButtonPanel
          No comment provided by developer, please add a comment to improve documentation.
 
Fields inherited from class javax.swing.JPanel
 
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.Container
 
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
DesktopTaskBar(javax.swing.JDesktopPane desktop, boolean backForthButtons)
          Creates a new task bar
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Invoked when a button in the desktop taskbar was pressed.
(package private)  void activate(javax.swing.JInternalFrame frame)
          make the frame the selected frame.
(package private)  void addFrame(javax.swing.JInternalFrame associatedFrame)
          add buttons for a new frame.
(package private)  java.lang.String getFrameShortTitle(javax.swing.JInternalFrame associatedFrame)
          Get the frameShortTitle attribute of the DesktopTaskBar object
private  void setupBackForth()
          create the 'back' and 'forth' buttons
(package private)  void updateBackAndForth()
          enable/disable 'back' and 'forth' buttons according to lists, tidy up lists before
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

desktop

javax.swing.JDesktopPane desktop
desktop for frames


PREFERRED_BUTTON_HEIGHT

public static final int PREFERRED_BUTTON_HEIGHT
No comment provided by developer, please add a comment to improve documentation.

See Also:
Constant Field Values

MAX_TITLE_LENGTH

private static final int MAX_TITLE_LENGTH
No comment provided by developer, please add a comment to improve documentation.

See Also:
Constant Field Values

taskButtonPanel

DesktopTaskBar.ButttonPanel taskButtonPanel
No comment provided by developer, please add a comment to improve documentation.


backList

de.upb.tools.fca.FLinkedList backList
list of frames that were selected (most recently selected is the last one in the list)


forthList

de.upb.tools.fca.FLinkedList forthList
list of frames that were visited and left by the 'back' button (most recently left is the first one in the list)


BACK_ICON_NAME

public static final java.lang.String BACK_ICON_NAME
Filename of the 'back' icon, relative to class' package

See Also:
Constant Field Values

FORTH_ICON_NAME

public static final java.lang.String FORTH_ICON_NAME
Filename of the 'forth' icon, relative to class' package

See Also:
Constant Field Values

backButton

private javax.swing.JButton backButton
'back' button (select previously selected internal frame)


forthButton

private javax.swing.JButton forthButton
'forth' button (select internal frame recently left by the 'back' button)


inBackForth

boolean inBackForth
true while processing 'back' or 'forth' request


lastEventTime

long lastEventTime
last value of System.currentTimeMillis() upon occurence of last frame event

Constructor Detail

DesktopTaskBar

public DesktopTaskBar(javax.swing.JDesktopPane desktop,
                      boolean backForthButtons)
Creates a new task bar

Parameters:
desktop - desktop this taskbar is attached to
backForthButtons - if true a 'back' and a 'forth' button is added ate the beginning of the taskbar
Method Detail

addFrame

void addFrame(javax.swing.JInternalFrame associatedFrame)
add buttons for a new frame.

Parameters:
associatedFrame - added frame

getFrameShortTitle

java.lang.String getFrameShortTitle(javax.swing.JInternalFrame associatedFrame)
Get the frameShortTitle attribute of the DesktopTaskBar object

Parameters:
associatedFrame - No description provided
Returns:
The frameShortTitle value

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Invoked when a button in the desktop taskbar was pressed.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - event

updateBackAndForth

void updateBackAndForth()
enable/disable 'back' and 'forth' buttons according to lists, tidy up lists before


setupBackForth

private void setupBackForth()
create the 'back' and 'forth' buttons


activate

void activate(javax.swing.JInternalFrame frame)
make the frame the selected frame.

Parameters:
frame - what to activate