This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.swing.plaf.basic
class BasicOptionPaneUI

java.lang.Object extended by javax.swing.plaf.ComponentUI extended by javax.swing.plaf.OptionPaneUI extended by javax.swing.plaf.basic.BasicOptionPaneUI

public class BasicOptionPaneUI
extends OptionPaneUI

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
 class

           This inner class is marked "public" due to a compiler bug.
static class

           ButtonAreaLayout behaves in a similar manner to FlowLayout.
 class

           This inner class is marked "public" due to a compiler bug.
 
Field Summary
protected boolean hasCustomComponents
          This is set to true in validateComponent if a Component is contained in either the message or the buttons.
protected Component initialFocusComponent
          Component to receive focus when messaged with selectInitialValue.
protected JComponent inputComponent
          JComponent provide for input if optionPane.getWantsInput() returns true.
static int MinimumHeight
          
protected Dimension minimumSize
          
static int MinimumWidth
          
protected JOptionPane optionPane
          JOptionPane that the receiver is providing the look and feel for.
protected PropertyChangeListener propertyChangeListener
          
 
Constructor Summary

          
 
Method Summary
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.
protected void

          Creates and adds a JLabel representing the icon returned from getIcon to top.
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.
protected void
burstStringInto(Container c, String d, int maxll)

          Recursively creates new JLabel instances to represent d.
 boolean

          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

          Creates and returns a Container containing the buttons.
protected LayoutManager

          
protected Container

          Messaged from installComponents to create a Container containing the body of the message.
protected PropertyChangeListener

          
protected Container

          
static ComponentUI

          Creates a new BasicOptionPaneUI instance.
protected Object[]

          Returns the buttons to display from the JOptionPane the receiver is providing the look and feel for.
protected Icon

          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

          Returns the initial index into the buttons to select.
protected int

          Returns the maximum number of characters to place on a line.
protected Object

          Returns the message to display from the JOptionPane the receiver is providing the look and feel for.
 Dimension

          Returns the minimum size the option pane should be.
 Dimension

          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

          Returns true, basic L&F wants all the buttons to have the same width.
protected void

          
protected void

          
protected void

          
protected void

          
 void

          Installs the receiver as the L&F for the passed in JOptionPane.
protected void

          Sets the input value in the option pane the receiver is providing the look and feel for based on the value in the inputComponent.
 void

          If inputComponent is non-null, the focus is requested on that, otherwise request focus on the default value
protected void

          
protected void

          
protected void

          
protected void

          
 void

          Removes the receiver from the L&F controller of the passed in split pane.
 
Methods inherited from class javax.swing.plaf.OptionPaneUI
containsCustomComponents, selectInitialValue
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, createUI, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

hasCustomComponents

protected boolean hasCustomComponents
This is set to true in validateComponent if a Component is contained in either the message or the buttons.

initialFocusComponent

protected Component initialFocusComponent
Component to receive focus when messaged with selectInitialValue.

inputComponent

protected JComponent inputComponent
JComponent provide for input if optionPane.getWantsInput() returns true.

MinimumHeight

public static final int MinimumHeight

minimumSize

protected Dimension minimumSize

MinimumWidth

public static final int MinimumWidth

optionPane

protected JOptionPane optionPane
JOptionPane that the receiver is providing the look and feel for.

propertyChangeListener

protected PropertyChangeListener propertyChangeListener
Constructor Detail

BasicOptionPaneUI

public BasicOptionPaneUI()
Method Detail

addButtonComponents

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.

Parameters:
container
buttons
initialIndex

addIcon

protected void addIcon(Container top)
Creates and adds a JLabel representing the icon returned from getIcon to top. This is messaged from createMessageArea

Parameters:
top

addMessageComponents

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).

Parameters:
container
cons
msg
maxll
internallyCreated

burstStringInto

protected void burstStringInto(Container c,
                               String d,
                               int maxll)
Recursively creates new JLabel instances to represent d. Each JLabel instance is added to c.

Parameters:
c
d
maxll

containsCustomComponents

public boolean containsCustomComponents(JOptionPane op)
Returns true if in the last call to validateComponent the message or buttons contained a subclass of Component.

Overrides:
containsCustomComponents in class OptionPaneUI
Parameters:
op

createButtonActionListener

protected ActionListener createButtonActionListener(int buttonIndex)
Parameters:
buttonIndex

createButtonArea

protected Container createButtonArea()
Creates and returns a Container containing the buttons. The buttons are created by calling getButtons.


createLayoutManager

protected LayoutManager createLayoutManager()

createMessageArea

protected Container createMessageArea()
Messaged from installComponents to create a Container containing the body of the message. The icon is the created by calling addIcon.


createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()

createSeparator

protected Container createSeparator()

createUI

public static ComponentUI createUI(JComponent x)
Creates a new BasicOptionPaneUI instance.

Parameters:
x

getButtons

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.


getIcon

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.


getIconForType

protected Icon getIconForType(int messageType)
Returns the icon to use for the passed in type.

Parameters:
messageType

getInitialValueIndex

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.


getMaxCharactersPerLineCount

protected int getMaxCharactersPerLineCount()
Returns the maximum number of characters to place on a line.


getMessage

protected Object getMessage()
Returns the message to display from the JOptionPane the receiver is providing the look and feel for.


getMinimumOptionPaneSize

public Dimension getMinimumOptionPaneSize()
Returns the minimum size the option pane should be. Primarily provided for subclassers wishing to offer a different minimum size.


getPreferredSize

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.

Overrides:
getPreferredSize in class ComponentUI
Parameters:
c

getSizeButtonsToSameWidth

protected boolean getSizeButtonsToSameWidth()
Returns true, basic L&F wants all the buttons to have the same width.


installComponents

protected void installComponents()

installDefaults

protected void installDefaults()

installKeyboardActions

protected void installKeyboardActions()

installListeners

protected void installListeners()

installUI

public void installUI(JComponent c)
Installs the receiver as the L&F for the passed in JOptionPane.

Overrides:
installUI in class ComponentUI
Parameters:
c

resetInputValue

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.


selectInitialValue

public void selectInitialValue(JOptionPane op)
If inputComponent is non-null, the focus is requested on that, otherwise request focus on the default value

Overrides:
selectInitialValue in class OptionPaneUI
Parameters:
op

uninstallComponents

protected void uninstallComponents()

uninstallDefaults

protected void uninstallDefaults()

uninstallKeyboardActions

protected void uninstallKeyboardActions()

uninstallListeners

protected void uninstallListeners()

uninstallUI

public void uninstallUI(JComponent c)
Removes the receiver from the L&F controller of the passed in split pane.

Overrides:
uninstallUI in class ComponentUI
Parameters:
c


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.