Home » openjdk-7 » javax » swing » plaf » basic » [javadoc | source]
public class: BasicOptionPaneUI [javadoc | source]

Direct Known Subclasses:

Provides the basic look and feel for a JOptionPane. BasicMessagePaneUI provides a means to place an icon, message and buttons into a Container. Generally, the layout will look like:

       | i | message    |
       | c | message    |
       | o | message    |
       | n | message    |
       |     buttons    |
icon is an instance of Icon that is wrapped inside a JLabel. The message is an opaque object and is tested for the following: if the message is a Component it is added to the Container, if it is an Icon it is wrapped inside a JLabel and added to the Container otherwise it is wrapped inside a JLabel.

The above layout is used when the option pane's ComponentOrientation property is horizontal, left-to-right. The layout will be adjusted appropriately for other orientations.

The Container, message, icon, and buttons are all determined from abstract methods.

Nested Class Summary:
public static class  BasicOptionPaneUI.ButtonAreaLayout  ButtonAreaLayout behaves in a similar manner to FlowLayout. It lays out all components from left to right. If syncAllWidths is true, the widths of each component will be set to the largest preferred size width. This class should be treated as a "protected" inner class. Instantiate it only within subclasses of {@code BasicOptionPaneUI}. 
public class  BasicOptionPaneUI.PropertyChangeHandler  This class should be treated as a "protected" inner class. Instantiate it only within subclasses of {@code BasicOptionPaneUI}. 
public class  BasicOptionPaneUI.ButtonActionListener  This class should be treated as a "protected" inner class. Instantiate it only within subclasses of {@code BasicOptionPaneUI}. 
Field Summary
public static final  int MinimumWidth     
public static final  int MinimumHeight     
protected  JOptionPane optionPane    JOptionPane that the receiver is providing the look and feel for. 
protected  Dimension minimumSize     
protected  JComponent inputComponent    JComponent provide for input if optionPane.getWantsInput() returns true. 
protected  Component initialFocusComponent    Component to receive focus when messaged with selectInitialValue. 
protected  boolean hasCustomComponents    This is set to true in validateComponent if a Component is contained in either the message or the buttons. 
protected  PropertyChangeListener propertyChangeListener     
Method from javax.swing.plaf.basic.BasicOptionPaneUI Summary:
addButtonComponents,   addIcon,   addMessageComponents,   burstStringInto,   containsCustomComponents,   createButtonActionListener,   createButtonArea,   createLayoutManager,   createMessageArea,   createPropertyChangeListener,   createSeparator,   createUI,   getButtons,   getIcon,   getIconForType,   getInitialValueIndex,   getInputMap,   getMaxCharactersPerLineCount,   getMessage,   getMinimumOptionPaneSize,   getPreferredSize,   getSizeButtonsToSameWidth,   installComponents,   installDefaults,   installKeyboardActions,   installListeners,   installUI,   loadActionMap,   resetInputValue,   selectInitialValue,   uninstallComponents,   uninstallDefaults,   uninstallKeyboardActions,   uninstallListeners,   uninstallUI
Methods from javax.swing.plaf.OptionPaneUI:
containsCustomComponents,   selectInitialValue
Methods from javax.swing.plaf.ComponentUI:
contains,   createUI,   getAccessibleChild,   getAccessibleChildrenCount,   getBaseline,   getBaselineResizeBehavior,   getMaximumSize,   getMinimumSize,   getPreferredSize,   installUI,   paint,   uninstallUI,   update
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from javax.swing.plaf.basic.BasicOptionPaneUI Detail:
 protected  void addButtonComponents(Container container,
    Object[] buttons,
    int initialIndex) 
    Creates the appropriate object to represent each of the objects in buttons and adds it to container. This differs from addMessageComponents in that it will recurse on buttons and that if button is not a Component it will create an instance of JButton.
 protected  void addIcon(Container top) 
    Creates and adds a JLabel representing the icon returned from getIcon to top. This is messaged from createMessageArea
 protected  void addMessageComponents(Container container,
    GridBagConstraints cons,
    Object msg,
    int maxll,
    boolean internallyCreated) 
    Creates the appropriate object to represent msg and places it into container. If msg is an instance of Component, it is added directly, if it is an Icon, a JLabel is created to represent it, otherwise a JLabel is created for the string, if d is an Object[], this method will be recursively invoked for the children. internallyCreated is true if Objc is an instance of Component and was created internally by this method (this is used to correctly set hasCustomComponents only if !internallyCreated).
 protected  void burstStringInto(Container c,
    String d,
    int maxll) 
    Recursively creates new JLabel instances to represent d. Each JLabel instance is added to c.
 public boolean containsCustomComponents(JOptionPane op) 
    Returns true if in the last call to validateComponent the message or buttons contained a subclass of Component.
 protected ActionListener createButtonActionListener(int buttonIndex) 
 protected Container createButtonArea() 
    Creates and returns a Container containing the buttons. The buttons are created by calling getButtons.
 protected LayoutManager createLayoutManager() 
 protected Container createMessageArea() 
    Messaged from installComponents to create a Container containing the body of the message. The icon is the created by calling addIcon.
 protected PropertyChangeListener createPropertyChangeListener() 
 protected Container createSeparator() 
 public static ComponentUI createUI(JComponent x) 
    Creates a new BasicOptionPaneUI instance.
 protected Object[] getButtons() 
    Returns the buttons to display from the JOptionPane the receiver is providing the look and feel for. If the JOptionPane has options set, they will be provided, otherwise if the optionType is YES_NO_OPTION, yesNoOptions is returned, if the type is YES_NO_CANCEL_OPTION yesNoCancelOptions is returned, otherwise defaultButtons are returned.
 protected Icon getIcon() 
    Returns the icon from the JOptionPane the receiver is providing the look and feel for, or the default icon as returned from getDefaultIcon.
 protected Icon getIconForType(int messageType) 
    Returns the icon to use for the passed in type.
 protected int getInitialValueIndex() 
    Returns the initial index into the buttons to select. The index is calculated from the initial value from the JOptionPane and options of the JOptionPane or 0.
 InputMap getInputMap(int condition) 
 protected int getMaxCharactersPerLineCount() 
    Returns the maximum number of characters to place on a line.
 protected Object getMessage() 
    Returns the message to display from the JOptionPane the receiver is providing the look and feel for.
 public Dimension getMinimumOptionPaneSize() 
    Returns the minimum size the option pane should be. Primarily provided for subclassers wishing to offer a different minimum size.
 public Dimension getPreferredSize(JComponent c) 
    If c is the JOptionPane the receiver is contained in, the preferred size that is returned is the maximum of the preferred size of the LayoutManager for the JOptionPane, and getMinimumOptionPaneSize.
 protected boolean getSizeButtonsToSameWidth() 
    Returns true, basic L&F wants all the buttons to have the same width.
 protected  void installComponents() 
 protected  void installDefaults() 
 protected  void installKeyboardActions() 
 protected  void installListeners() 
 public  void installUI(JComponent c) 
    Installs the receiver as the L&F for the passed in JOptionPane.
 static  void loadActionMap(LazyActionMap map) 
 protected  void resetInputValue() 
    Sets the input value in the option pane the receiver is providing the look and feel for based on the value in the inputComponent.
 public  void selectInitialValue(JOptionPane op) 
    If inputComponent is non-null, the focus is requested on that, otherwise request focus on the default value
 protected  void uninstallComponents() 
 protected  void uninstallDefaults() 
 protected  void uninstallKeyboardActions() 
 protected  void uninstallListeners() 
 public  void uninstallUI(JComponent c) 
    Removes the receiver from the L&F controller of the passed in split pane.