org.fife.ui.dockablewindows
Class DockableWindow

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.fife.ui.dockablewindows.DockableWindow
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, DockableWindowConstants
Direct Known Subclasses:
AbstractParserNoticeWindow, ToolDockableWindow

public class DockableWindow
extends javax.swing.JPanel
implements DockableWindowConstants

A dockable window that is a panel either docked to one of the four sides of a DockableWindowPanel, or in a floating window.

Version:
0.5
Author:
Robert Futrell
See Also:
DockableWindowPanel, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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 ACTIVE_PROPERTY
          Property meaning the dockable window has changed its "active" state; that is, it has either been made visible or hidden.
static java.lang.String NAME_PROPERTY
          Property fired when a dockable window's name changes.
static java.lang.String TITLE_PROPERTY
          Property fired when a dockable window's title changes.
 
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 org.fife.ui.dockablewindows.DockableWindowConstants
BOTTOM, FLOATING, LEFT, RIGHT, TOP
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DockableWindow()
          Constructor.
DockableWindow(java.awt.LayoutManager layout)
          Constructor.
DockableWindow(java.lang.String name)
          Constructor.
DockableWindow(java.lang.String name, java.awt.LayoutManager layout)
          Constructor.
 
Method Summary
 void addDockableWindowListener(DockableWindowListener l)
          Adds a listener to this dockable window.
protected  void firePositionChanged(DockableWindowEvent e)
          Notifies all listeners that this dockable window's position changed.
protected  void firePositionWillChange(DockableWindowEvent e)
          Notifies all listeners that this dockable window's position will change.
 boolean focused()
          Called when the user clicks on the tab for this dockable window.
 java.lang.String getDockableWindowName()
          Returns the name of this dockable window.
 java.lang.String getDockableWindowTitle()
          Returns the title of this dockable window.
 javax.swing.Icon getIcon()
          Returns the icon to display beside the name of this dockable window in the application's interface.
 int getPosition()
          Returns the location of this dockable window.
 boolean isActive()
          Returns whether this dockable window is active (i.e., visible).
static boolean isValidPosition(int pos)
          Returns whether or not the specified position is valid.
 void removeDockableWindowListener(DockableWindowListener l)
          Removes a listener from this dockable window.
 void setActive(boolean active)
          Sets whether or not this dockable window should be "active;" i.e., visible (I didn't want to use setVisible or setEnabled since they're already used for different functions by JComponent).
 void setDockableWindowName(java.lang.String name)
          Sets the name of this dockable window.
 void setDockableWindowTitle(java.lang.String title)
          Sets the title of this dockable window.
 void setIcon(javax.swing.Icon icon)
          Sets the icon for this dockable window.
 void setPosition(int newPos)
          Sets where this dockable window is displayed.
 void setPrimaryComponent(java.awt.Component primary)
          Sets the "primary" component in this docked window.
 java.lang.String toString()
          Returns a string representation of this dockable window.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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
 
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, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ACTIVE_PROPERTY

public static final java.lang.String ACTIVE_PROPERTY
Property meaning the dockable window has changed its "active" state; that is, it has either been made visible or hidden.

See Also:
Constant Field Values

NAME_PROPERTY

public static final java.lang.String NAME_PROPERTY
Property fired when a dockable window's name changes.

See Also:
Constant Field Values

TITLE_PROPERTY

public static final java.lang.String TITLE_PROPERTY
Property fired when a dockable window's title changes.

See Also:
Constant Field Values
Constructor Detail

DockableWindow

public DockableWindow()
Constructor.


DockableWindow

public DockableWindow(java.awt.LayoutManager layout)
Constructor.

Parameters:
layout - The layout for this window's contents.

DockableWindow

public DockableWindow(java.lang.String name)
Constructor.

Parameters:
name - The name of this dockable window.
See Also:
getDockableWindowName()

DockableWindow

public DockableWindow(java.lang.String name,
                      java.awt.LayoutManager layout)
Constructor.

Parameters:
name - The name of this dockable window.
layout - The layout for this window's contents.
See Also:
getDockableWindowName()
Method Detail

addDockableWindowListener

public void addDockableWindowListener(DockableWindowListener l)
Adds a listener to this dockable window.

Parameters:
l - The listener to add.
See Also:
removeDockableWindowListener(DockableWindowListener)

firePositionChanged

protected void firePositionChanged(DockableWindowEvent e)
Notifies all listeners that this dockable window's position changed.

Parameters:
e - The event to fire.

firePositionWillChange

protected void firePositionWillChange(DockableWindowEvent e)
Notifies all listeners that this dockable window's position will change.

Parameters:
e - The event to fire.

focused

public boolean focused()
Called when the user clicks on the tab for this dockable window. This focuses the "primary" component in the window, if any.

Returns:
Whether the primary component was focused.

getDockableWindowName

public java.lang.String getDockableWindowName()
Returns the name of this dockable window. The name is displayed on tabs, etc.

Returns:
The name of this dockable window.
See Also:
setDockableWindowName(String), getDockableWindowTitle()

getDockableWindowTitle

public java.lang.String getDockableWindowTitle()
Returns the title of this dockable window. The is displayed in the top colored area of the dockable window tabbed pane, or as the title in the floating window if this dockable window is floating.

Returns:
The title of this dockable window. If no value has been set, this will be the name of this dockable window.
See Also:
setDockableWindowTitle(String), getDockableWindowName()

getIcon

public javax.swing.Icon getIcon()
Returns the icon to display beside the name of this dockable window in the application's interface.

Returns:
The icon for this dockable window. This value may be null to represent no icon.
See Also:
setIcon(Icon)

getPosition

public int getPosition()
Returns the location of this dockable window.

Returns:
One of TOP, LEFT, BOTTOM, RIGHT or FLOATING.
See Also:
setPosition(int)

isActive

public boolean isActive()
Returns whether this dockable window is active (i.e., visible).

Returns:
Whether this dockable window is not active.
See Also:
getPosition(), setActive(boolean)

isValidPosition

public static final boolean isValidPosition(int pos)
Returns whether or not the specified position is valid.

Parameters:
pos - A position.
Returns:
Whether the specified position is valid.

removeDockableWindowListener

public void removeDockableWindowListener(DockableWindowListener l)
Removes a listener from this dockable window.

Parameters:
l - The listener to remove.
See Also:
addDockableWindowListener(org.fife.ui.dockablewindows.DockableWindowListener)

setActive

public void setActive(boolean active)
Sets whether or not this dockable window should be "active;" i.e., visible (I didn't want to use setVisible or setEnabled since they're already used for different functions by JComponent).

Parameters:
active - Whether this dockable window should be active.
See Also:
isActive()

setDockableWindowName

public void setDockableWindowName(java.lang.String name)
Sets the name of this dockable window. The name is displayed on tabs, etc. This method fires a property change event of type NAME_PROPERTY.

Parameters:
name - The name of this dockable window.
See Also:
getDockableWindowName(), setDockableWindowTitle(String)

setDockableWindowTitle

public void setDockableWindowTitle(java.lang.String title)
Sets the title of this dockable window. The is displayed in the top colored area of the dockable window tabbed pane, or as the title in the floating window if this dockable window is floating. This method fires a property change event of type TITLE_PROPERTY.

Parameters:
title - The title of this dockable window. If this is null, the name of this window will be used.
See Also:
getDockableWindowTitle(), setDockableWindowName(String)

setIcon

public void setIcon(javax.swing.Icon icon)
Sets the icon for this dockable window.

Parameters:
icon - The icon.
See Also:
getIcon()

setPosition

public void setPosition(int newPos)
Sets where this dockable window is displayed. Note that this doesn't actually change the location of the dockable window; rather, it simply updates the dockable window's knowledge of where it is.

Parameters:
newPos - One of TOP, LEFT, BOTTOM, RIGHT, or FLOATING.
See Also:
getPosition()

setPrimaryComponent

public void setPrimaryComponent(java.awt.Component primary)
Sets the "primary" component in this docked window. If defined, this component is given focus when the docked window's tab is clicked.

Parameters:
primary - The new primary component.

toString

public java.lang.String toString()
Returns a string representation of this dockable window. Useful for debugging.

Overrides:
toString in class java.awt.Component
Returns:
A string representation of this dockable window.