org.PingOO.DLAI.lib.PWidget
Class PInternalDialog

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JInternalFrame
                          |
                          +--org.PingOO.DLAI.lib.PWidget.PInternalFrame
                                |
                                +--org.PingOO.DLAI.lib.PWidget.PInternalDialog

public class PInternalDialog
extends PInternalFrame

The InternalFrame remains on top of its root JDesktopPane or parent.
This sould be used to create bloquing window when the user's input is needed somewhere.

The blocking code is weak, there is still much more work to do on this class.

Since:
PingOO 2.0
Version:
2.0
Author:
Fabrice Bouyé (bouye@cur-archamps.fr)
See Also:
PComponent, PInternalFrame, PExternalDialog, Serialized Form

Inner Class Summary
private  class PInternalDialog.UnfreezingAdapter
           
 
Inner classes inherited from class org.PingOO.DLAI.lib.PWidget.PInternalFrame
PInternalFrame.PInternalMouseInputListener
 
Inner classes inherited from class javax.swing.JInternalFrame
javax.swing.JInternalFrame.AccessibleJInternalFrame, javax.swing.JInternalFrame.JDesktopIcon
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardBinding, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  java.awt.Component oldGlassPane
          The previous glass pane of the parent.
private  java.awt.Container parent
          The parent of this dialog.
 
Fields inherited from class org.PingOO.DLAI.lib.PWidget.PInternalFrame
defaultMouseInputListener, manager, module, titleKey, toolTipKey
 
Fields inherited from class javax.swing.JInternalFrame
closable, CONTENT_PANE_PROPERTY, defaultCloseOperation, 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, opened, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTY, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
PInternalDialog(java.awt.Container parentComponent)
          Creates a new internal dialog for the interface.
PInternalDialog(java.lang.String titleKey, java.awt.Container parentComponent)
          Creates a new internal dialog for the interface.
PInternalDialog(java.lang.String titleKey, java.awt.Container parentComponent, boolean closable)
          Creates a new internal dialog for the interface.
PInternalDialog(java.lang.String titleKey, java.lang.String toolTipKey, java.awt.Container parentComponent)
          Creates a new internal dialog for the interface.
PInternalDialog(java.lang.String titleKey, java.lang.String toolTipKey, java.lang.String module, java.awt.Container parentComponent)
          Creates a new internal dialog for the interface.
PInternalDialog(java.lang.String titleKey, java.lang.String toolTipKey, java.lang.String module, java.awt.Container parentComponent, boolean closable)
          Creates a new internal dialog for the interface.
 
Method Summary
 void setLocationRelativeTo(java.awt.Component c)
          Sets the location of the dialog relative to the specified component.
 void startModalP()
          For unknow reasons (perhaps instability), the code of the startModal() method in JInternalFram is package limited so its can't be reused outside.
 void stopModalP()
           
 
Methods inherited from class org.PingOO.DLAI.lib.PWidget.PInternalFrame
getManager, getModule, getTextKey, getToolTipKey, setLocalizedTitle, setLocalizedToolTipText, setManager, setModule, updateFont, updateLanguage, updateLanguage
 
Methods inherited from class javax.swing.JInternalFrame
addImpl, addInternalFrameListener, createRootPane, createRootPaneException, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getBackground, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getForeground, getFrameIcon, getGlassPane, getJMenuBar, getLayer, getLayeredPane, getMenuBar, getRootPane, getTitle, getUI, getUIClassID, getWarningString, isClosable, isClosed, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paramString, removeInternalFrameListener, reshape, setBackground, setClosable, setClosed, setContentPane, setDefaultCloseOperation, setDesktopIcon, setForeground, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, setVisible, show, startModal, stopModal, toBack, toFront, updateUI, updateUIWhenHidden, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, , addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

parent

private java.awt.Container parent
The parent of this dialog.

oldGlassPane

private java.awt.Component oldGlassPane
The previous glass pane of the parent.
Used if parent is a RootPaneContainer.
Constructor Detail

PInternalDialog

public PInternalDialog(java.awt.Container parentComponent)
Creates a new internal dialog for the interface.
Creates a non-closable PInternalDialog with default title.
Parameters:
parentComponent - Determines the Frame in which the dialog is displayed. If null, or if the parentComponent has no Frame, a default Frame is used.

PInternalDialog

public PInternalDialog(java.lang.String titleKey,
                       java.awt.Container parentComponent)
Creates a new internal dialog for the interface.
Creates a non-closable PInternalDialog with the specified title.
Parameters:
titleKey - The key used to get the localized title.
parentComponent - Determines the Frame in which the dialog is displayed. If null, or if the parentComponent has no Frame, a default Frame is used.

PInternalDialog

public PInternalDialog(java.lang.String titleKey,
                       java.lang.String toolTipKey,
                       java.awt.Container parentComponent)
Creates a new internal dialog for the interface.
Creates a non-closable PInternalDialog with the specified title.
Parameters:
titleKey - The key used to get the localized title.
toolTipKey - The key used to get the localized tool tip.
parentComponent - Determines the Frame in which the dialog is displayed. If null, or if the parentComponent has no Frame, a default Frame is used.

PInternalDialog

public PInternalDialog(java.lang.String titleKey,
                       java.lang.String toolTipKey,
                       java.lang.String module,
                       java.awt.Container parentComponent)
Creates a new internal dialog for the interface.
Creates a non-closable PInternalDialog with the specified title.
Parameters:
titleKey - The key used to get the localized title.
toolTipKey - The key used to get the localized tool tip.
module - The module used to load localized resources.
parentComponent - Determines the Frame in which the dialog is displayed. If null, or if the parentComponent has no Frame, a default Frame is used.

PInternalDialog

public PInternalDialog(java.lang.String titleKey,
                       java.awt.Container parentComponent,
                       boolean closable)
Creates a new internal dialog for the interface.
Creates a PInternalDialog with the specified title and with closability specified.
Parameters:
titleKey - The key used to get the localized title.
parentComponent - Determines the Frame in which the dialog is displayed. If null, or if the parentComponent has no Frame, a default Frame is used.
closable - Indicates if the internal dialog is closable or not.

PInternalDialog

public PInternalDialog(java.lang.String titleKey,
                       java.lang.String toolTipKey,
                       java.lang.String module,
                       java.awt.Container parentComponent,
                       boolean closable)
Creates a new internal dialog for the interface.
Creates a PInternalDialog with the specified title and with closability specified.
Parameters:
titleKey - The key used to get the localized title.
toolTipKey - The key used to get the localized tool tip.
module - The module used to load localized resources.
parentComponent - Determines the Frame in which the dialog is displayed. If null, or if the parentComponent has no Frame, a default Frame is used.
closable - Indicates if the internal dialog is closable or not.
Method Detail

startModalP

public void startModalP()
For unknow reasons (perhaps instability), the code of the startModal() method in JInternalFram is package limited so its can't be reused outside.
So I had to paste it from the source of the JDK.
Comments that follow are those from the original code.

Creates a new EventDispatchThread to dispatch events from
This method returns when stopModal() is invoked.


stopModalP

public void stopModalP()

setLocationRelativeTo

public void setLocationRelativeTo(java.awt.Component c)
Sets the location of the dialog relative to the specified component.
If the component is not currently showing, the dialog is centered on the screen.
Parameters:
c - The component in relation to which the dialog's location is determined