ptolemy.gui
Class ComponentDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by ptolemy.gui.ComponentDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ComponentDialog
extends javax.swing.JDialog

This class is a modal dialog box that contains an arbitrary component. It can be used, for example, to put an instance of Query in a top-level dialog box. The general way to use this class is to create the component that you wish to have contained in the dialog. Then pass that component to the constructor of this class. The dialog is modal, so the statement that creates the dialog will not return until the user dismisses the dialog. The method buttonPressed() can then be called to find out whether the user clicked the OK button or the Cancel button (or any other button specified in the constructor). Then you can access the component to determine what values were set by the user.

If the component that is added implements the CloseListener interface, then that component is notified when this dialog closes.

Since:
Ptolemy II 0.4
Version:
$Id: ComponentDialog.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee
See Also:
CloseListener, Serialized Form
Accepted Rating:
Yellow (janneck)
Proposed Rating:
Yellow (eal)

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.lang.String _buttonPressed
          The label of the button pushed to dismiss the dialog.
private static java.lang.String[] _buttons
          Button labels.
private static java.lang.String[] _defaultButtons
          Default button labels.
private  boolean _doneHandleClosing
          Indicator that we have notified of window closing.
private  javax.swing.JTextArea _messageArea
          The container for messages.
private  javax.swing.JOptionPane _optionPane
          The pane with the buttons.
 java.awt.Component contents
          The component contained by this dialog.
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
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
ComponentDialog(java.awt.Frame owner, java.lang.String title, java.awt.Component component)
          Construct a dialog with the specified owner, title, and component.
ComponentDialog(java.awt.Frame owner, java.lang.String title, java.awt.Component component, java.lang.String[] buttons)
          Construct a dialog with the specified owner, title, component, and buttons.
ComponentDialog(java.awt.Frame owner, java.lang.String title, java.awt.Component component, java.lang.String[] buttons, java.lang.String message)
          Construct a dialog with the specified owner, title, component, buttons, and message.
ComponentDialog(java.awt.Frame owner, java.lang.String title, java.awt.Component component, java.lang.String[] buttons, java.lang.String message, boolean resizable)
          Construct a dialog with the specified owner, title, component, buttons, and message.
 
Method Summary
protected  void _handleClosing()
          If the contents of this dialog implements the CloseListener interface, then notify it that the window has closed, unless notification has already been done (it is guaranteed to be done only once).
 java.lang.String buttonPressed()
          Return the label of the button that triggered closing the dialog, or an empty string if none.
 void setMessage(java.lang.String message)
          Change the message that was specified in the constructor to read as specified.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

contents

public java.awt.Component contents
The component contained by this dialog.


_buttonPressed

protected java.lang.String _buttonPressed
The label of the button pushed to dismiss the dialog.


_buttons

private static java.lang.String[] _buttons
Button labels.


_defaultButtons

private static java.lang.String[] _defaultButtons
Default button labels.


_doneHandleClosing

private boolean _doneHandleClosing
Indicator that we have notified of window closing.


_optionPane

private javax.swing.JOptionPane _optionPane
The pane with the buttons.


_messageArea

private javax.swing.JTextArea _messageArea
The container for messages.

Constructor Detail

ComponentDialog

public ComponentDialog(java.awt.Frame owner,
                       java.lang.String title,
                       java.awt.Component component)
Construct a dialog with the specified owner, title, and component. An "OK" and a "Cancel" button are added to the dialog. The dialog is placed relative to the owner.

Parameters:
owner - The object that, per the user, appears to be generating the dialog.
title - The title of the dialog.
component - The component to insert in the dialog.

ComponentDialog

public ComponentDialog(java.awt.Frame owner,
                       java.lang.String title,
                       java.awt.Component component,
                       java.lang.String[] buttons)
Construct a dialog with the specified owner, title, component, and buttons. The first button is the "default" in that it is the one activated by "Enter" or "Return" keys. If the last argument is null, then an "OK" and a "Cancel" button will be created. The dialog is placed relative to the owner.

Parameters:
owner - The object that, per the user, appears to be generating the dialog.
title - The title of the dialog.
component - The component to insert in the dialog.
buttons - An array of labels for buttons at the bottom of the dialog.

ComponentDialog

public ComponentDialog(java.awt.Frame owner,
                       java.lang.String title,
                       java.awt.Component component,
                       java.lang.String[] buttons,
                       java.lang.String message)
Construct a dialog with the specified owner, title, component, buttons, and message. The message is placed above the component. The first button is the "default" in that it is the one activated by "Enter" or "Return" keys. If the buttons argument is null, then an "OK" and a "Cancel" button will be created. The dialog is placed relative to the owner.

Parameters:
owner - The object that, per the user, appears to be generating the dialog.
title - The title of the dialog.
component - The component to insert in the dialog.
buttons - An array of labels for buttons at the bottom of the dialog.
message - A message to place above the component, or null if no message is needed.

ComponentDialog

public ComponentDialog(java.awt.Frame owner,
                       java.lang.String title,
                       java.awt.Component component,
                       java.lang.String[] buttons,
                       java.lang.String message,
                       boolean resizable)
Construct a dialog with the specified owner, title, component, buttons, and message. The message is placed above the component. The first button is the "default" in that it is the one activated by "Enter" or "Return" keys. If the buttons argument is null, then an "OK" and a "Cancel" button will be created. The dialog is placed relative to the owner.

Parameters:
owner - The object that, per the user, appears to be generating the dialog.
title - The title of the dialog.
component - The component to insert in the dialog.
buttons - An array of labels for buttons at the bottom of the dialog.
message - A message to place above the component, or null if no message is needed.
resizable - True to allow the dialog to be resized.
Method Detail

buttonPressed

public java.lang.String buttonPressed()
Return the label of the button that triggered closing the dialog, or an empty string if none.

Returns:
The label of the button pressed.

setMessage

public void setMessage(java.lang.String message)
Change the message that was specified in the constructor to read as specified. If no message was specified in the constructor, then do nothing.

Parameters:
message - The new message.

_handleClosing

protected void _handleClosing()
If the contents of this dialog implements the CloseListener interface, then notify it that the window has closed, unless notification has already been done (it is guaranteed to be done only once).