| JavaTM 2 Platform Std. Ed. v1.6.0
javax.swing.plaf.basic
Class BasicOptionPaneUI
java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.OptionPaneUI
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.
|
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 |
addIcon(Container top)
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 |
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. |
protected LayoutManager |
createLayoutManager()
|
protected Container |
createMessageArea()
Messaged from installComponents to create a Container containing the
body of the message. |
protected PropertyChangeListener |
createPropertyChangeListener()
|
protected Container |
createSeparator()
|
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. |
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. |
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. |
Dimension |
getMinimumOptionPaneSize()
Returns the minimum size the option pane should be. |
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()
|
void |
installUI(JComponent c)
Installs the receiver as the L&F for the passed in
JOptionPane. |
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. |
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()
|
void |
uninstallUI(JComponent c)
Removes the receiver from the L&F controller of the passed in split
pane. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MinimumWidth
public static final int MinimumWidth
- See Also:
- Constant Field Values
MinimumHeight
public static final int MinimumHeight
- See Also:
- Constant Field Values
optionPane
protected JOptionPane optionPane
JOptionPane that the receiver is providing the
look and feel for.
minimumSize
protected Dimension minimumSize
inputComponent
protected JComponent inputComponent
- JComponent provide for input if optionPane.getWantsInput() returns
true.
initialFocusComponent
protected Component initialFocusComponent
- Component to receive focus when messaged with selectInitialValue.
hasCustomComponents
protected boolean hasCustomComponents
- This is set to true in validateComponent if a Component is contained
in either the message or the buttons.
propertyChangeListener
protected PropertyChangeListener propertyChangeListener
BasicOptionPaneUI
public BasicOptionPaneUI()
createUI
public static ComponentUI createUI(JComponent x)
- Creates a new BasicOptionPaneUI instance.
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 - the component where this UI delegate is being installed- See Also:
ComponentUI.uninstallUI(javax.swing.JComponent),
JComponent.setUI(javax.swing.plaf.ComponentUI),
JComponent.updateUI()
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 - the component from which this UI delegate is being removed;
this argument is often ignored,
but might be used if the UI object is stateless
and shared by multiple components- See Also:
ComponentUI.installUI(javax.swing.JComponent),
JComponent.updateUI()
installDefaults
protected void installDefaults()
uninstallDefaults
protected void uninstallDefaults()
installComponents
protected void installComponents()
uninstallComponents
protected void uninstallComponents()
createLayoutManager
protected LayoutManager createLayoutManager()
installListeners
protected void installListeners()
uninstallListeners
protected void uninstallListeners()
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
installKeyboardActions
protected void installKeyboardActions()
uninstallKeyboardActions
protected void uninstallKeyboardActions()
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 - the component whose preferred size is being queried;
this argument is often ignored,
but might be used if the UI object is stateless
and shared by multiple components- See Also:
JComponent.getPreferredSize(),
LayoutManager.preferredLayoutSize(java.awt.Container)
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.
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).
getMessage
protected Object getMessage()
- Returns the message to display from the JOptionPane the receiver is
providing the look and feel for.
addIcon
protected void addIcon(Container top)
- Creates and adds a JLabel representing the icon returned from
getIcon to top. This is messaged from
createMessageArea
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.
getMaxCharactersPerLineCount
protected int getMaxCharactersPerLineCount()
- Returns the maximum number of characters to place on a line.
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.
createSeparator
protected Container createSeparator()
createButtonArea
protected Container createButtonArea()
- Creates and returns a Container containing the buttons. The buttons
are created by calling
getButtons.
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.
createButtonActionListener
protected ActionListener createButtonActionListener(int buttonIndex)
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.
getSizeButtonsToSameWidth
protected boolean getSizeButtonsToSameWidth()
- Returns true, basic L&F wants all the buttons to have the same
width.
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.
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
- Specified by:
selectInitialValue in class OptionPaneUI
containsCustomComponents
public boolean containsCustomComponents(JOptionPane op)
- Returns true if in the last call to validateComponent the message
or buttons contained a subclass of Component.
- Specified by:
containsCustomComponents in class OptionPaneUI
Copyright 2003 Sun Microsystems, Inc. All rights reserved
|