public class BasicOptionPaneUI extends OptionPaneUI
Provides the basic look and feel for a
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
Iconthat is wrapped inside a
JLabel. The message is an opaque object and is tested for the following: if the message is a
Componentit is added to the
Container, if it is an
Iconit is wrapped inside a
JLabeland added to the
Containerotherwise it is wrapped inside a
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.
Container, message, icon, and buttons are all determined from abstract methods.
|Modifier and Type||Class and Description|
This class should be treated as a "protected" inner class.
This class should be treated as a "protected" inner class.
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
public static ComponentUI createUI(JComponent x)
Creates a new BasicOptionPaneUI instance.
public void installUI(JComponent c)
Installs the receiver as the L&F for the passed in
c- the component where this UI delegate is being installed
public void uninstallUI(JComponent c)
Removes the receiver from the L&F controller of the passed in split pane.
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
protected void installDefaults()
protected void uninstallDefaults()
protected void installComponents()
protected void uninstallComponents()
protected LayoutManager createLayoutManager()
protected void installListeners()
protected void uninstallListeners()
protected PropertyChangeListener createPropertyChangeListener()
protected void installKeyboardActions()
protected void uninstallKeyboardActions()
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)
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
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
protected Container createMessageArea()
Messaged from installComponents to create a Container containing the body of the message. The icon is the created by calling
protected void addMessageComponents(Container container, GridBagConstraints cons, Object msg, int maxll, boolean internallyCreated)
Creates the appropriate object to represent
msg and places it into
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 Object getMessage()
Returns the message to display from the JOptionPane the receiver is providing the look and feel for.
protected void addIcon(Container top)
Creates and adds a JLabel representing the icon returned from
top. This is messaged from
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
protected Icon getIconForType(int messageType)
Returns the icon to use for the passed in type.
protected int getMaxCharactersPerLineCount()
Returns the maximum number of characters to place on a line.
protected void burstStringInto(Container c, String d, int maxll)
Recursively creates new JLabel instances to represent
d. Each JLabel instance is added to
protected Container createSeparator()
protected Container createButtonArea()
Creates and returns a Container containing the buttons. The buttons are created by calling
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 ActionListener createButtonActionListener(int buttonIndex)
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 boolean getSizeButtonsToSameWidth()
Returns true, basic L&F wants all the buttons to have the same width.
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.
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
public boolean containsCustomComponents(JOptionPane op)
Returns true if in the last call to validateComponent the message or buttons contained a subclass of Component.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.