org.bs.mdi.swing
Class TraditionalDocumentWindow

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JInternalFrame
                  extended byorg.bs.mdi.swing.TraditionalDocumentWindow
All Implemented Interfaces:
Accessible, DocumentWindow, EventListener, ImageObserver, MenuContainer, RootPaneContainer, Serializable, SwingDocumentWindow, VetoableChangeListener, Window, WindowConstants

public class TraditionalDocumentWindow
extends JInternalFrame
implements SwingDocumentWindow, VetoableChangeListener

An implementation of a DocumentWindow using Swing's JInternalFrames.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JInternalFrame
JInternalFrame.AccessibleJInternalFrame, JInternalFrame.JDesktopIcon
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  Color desktopColor
           
protected static int transparencyAlpha
           
protected  RootView view
           
protected  SwingWindowCommand windowCommand
           
 
Fields inherited from class javax.swing.JInternalFrame
closable, CONTENT_PANE_PROPERTY, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTY
 
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 javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TraditionalDocumentWindow()
          Creates a new document window.
 
Method Summary
 boolean close()
          Try to close the window.
 Document getDocument()
          Returns the document which this view is associated with.
 Dimension getPreferredDimension()
          Returns the preferred dimensions of this window.
static int getTransparency()
          Gets the alpha value used to draw transparent windows.
 RootView getView()
          Returns the window which this view is assigned to.
 SwingWindowCommand getWindowCommand()
          Gets the command which can be used to activate this window.
 boolean isFocusTraversable()
           
 void paint(Graphics g)
           
 void setSelected(boolean selected)
           
 void setTitle(String title)
          Sets the title of the window.
static void setTransparency(int alpha)
          Sets the alpha value used to draw transparent windows.
 void setTransparencyEffects(boolean enable)
          Set the transparent window effect on or off.
 void setView(RootView view)
          Assigns the given view to this window.
 void toFront()
          Brings this window to the front and tries to make it the selected (=active) window.
protected  void toFront(boolean select)
           
 void update(Graphics g)
           
 void vetoableChange(PropertyChangeEvent pce)
           
 
Methods inherited from class javax.swing.JInternalFrame
addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setUI, show, toBack, 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, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, 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, 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
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, 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, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, 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, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.bs.mdi.DocumentWindow
setEnabled, setVisible
 
Methods inherited from interface org.bs.mdi.Window
getTitle, hide, repaint, show
 

Field Detail

transparencyAlpha

protected static int transparencyAlpha

desktopColor

protected Color desktopColor

view

protected RootView view

windowCommand

protected SwingWindowCommand windowCommand
Constructor Detail

TraditionalDocumentWindow

public TraditionalDocumentWindow()
Creates a new document window. Note that the window is initially invisible. Although the window manager should automatically take care of this window and may make it visible, it is still not wrong to call setVisible(true) on the created window.

Method Detail

getDocument

public Document getDocument()
Description copied from interface: DocumentWindow
Returns the document which this view is associated with. This is usually just a convenience method for calling getView().getDocument.

Specified by:
getDocument in interface DocumentWindow
Returns:
the document

setView

public void setView(RootView view)
Description copied from interface: DocumentWindow
Assigns the given view to this window. The view will be displayed in this window.

Specified by:
setView in interface DocumentWindow
Parameters:
view - the view

getView

public RootView getView()
Description copied from interface: DocumentWindow
Returns the window which this view is assigned to.

Specified by:
getView in interface DocumentWindow
Returns:
the window

close

public boolean close()
Description copied from interface: DocumentWindow
Try to close the window. This function is also responsible for displaying warning messages asking the user if he really wants to close this window and lose the associated data. This means that this method does not necessarily have to succeed; this is the case if the user changes his mind and chooses not to close the window.

Specified by:
close in interface DocumentWindow
Returns:
true if the window was successfully closed, false otherwise

setTitle

public void setTitle(String title)
Description copied from interface: Window
Sets the title of the window.

Specified by:
setTitle in interface Window

getPreferredDimension

public Dimension getPreferredDimension()
Returns the preferred dimensions of this window. The window manager may use this value to set the initial size of this window.

Returns:
the preferred dimensions, or null to let the window manager decide

setSelected

public void setSelected(boolean selected)
                 throws PropertyVetoException
Throws:
PropertyVetoException

toFront

protected void toFront(boolean select)

toFront

public void toFront()
Description copied from interface: DocumentWindow
Brings this window to the front and tries to make it the selected (=active) window.

Specified by:
toFront in interface DocumentWindow

paint

public void paint(Graphics g)

update

public void update(Graphics g)

setTransparencyEffects

public void setTransparencyEffects(boolean enable)
Set the transparent window effect on or off.

Parameters:
enable - true if the graphical effect should be enabled, false otherwise

getTransparency

public static int getTransparency()
Gets the alpha value used to draw transparent windows.

Returns:
the alpha value for transparency effects

setTransparency

public static void setTransparency(int alpha)
Sets the alpha value used to draw transparent windows.

Parameters:
alpha - the alpha value for transparency effects

getWindowCommand

public SwingWindowCommand getWindowCommand()
Gets the command which can be used to activate this window. This command is usually accessible using the window menu.

Specified by:
getWindowCommand in interface SwingDocumentWindow
Returns:
the window command

vetoableChange

public void vetoableChange(PropertyChangeEvent pce)
                    throws PropertyVetoException
Specified by:
vetoableChange in interface VetoableChangeListener
Throws:
PropertyVetoException

isFocusTraversable

public boolean isFocusTraversable()