SynthOptionPaneUIpublic class BasicOptionPaneUI extends OptionPaneUI
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.
| Modifier and Type | Class | Description | 
|---|---|---|
| class  | BasicOptionPaneUI.ButtonActionListener | This class should be treated as a "protected" inner class. | 
| static class  | BasicOptionPaneUI.ButtonAreaLayout | ButtonAreaLayoutbehaves in a similar manner toFlowLayout. | 
| class  | BasicOptionPaneUI.PropertyChangeHandler | This class should be treated as a "protected" inner class. | 
| Modifier and Type | Field | Description | 
|---|---|---|
| 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 final int | MinimumHeight | The minimum height of  JOptionPane. | 
| protected Dimension | minimumSize | The size of  JOptionPane. | 
| static final int | MinimumWidth | The minimum width of  JOptionPane. | 
| protected JOptionPane | optionPane | JOptionPanethat the receiver is providing the look and feel for. | 
| protected PropertyChangeListener | propertyChangeListener | The instance of  PropertyChangeListener. | 
| Constructor | Description | 
|---|---|
| BasicOptionPaneUI() | Constructs a  BasicOptionPaneUI. | 
| Modifier and Type | Method | Description | 
|---|---|---|
| protected void | addButtonComponents | Creates the appropriate object to represent each of the objects in  buttonsand adds it tocontainer. | 
| protected void | addIcon | Creates and adds a JLabel representing the icon returned from  getIcontotop. | 
| protected void | addMessageComponents | Creates the appropriate object to represent  msgand places it intocontainer. | 
| protected void | burstStringInto | Recursively creates new  JLabelinstances to representd. | 
| boolean | containsCustomComponents | Returns true if in the last call to validateComponent the message or buttons contained a subclass of Component. | 
| protected ActionListener | createButtonActionListener | Constructs a new instance of a  ButtonActionListener. | 
| protected Container | createButtonArea() | Creates and returns a  Containercontaining the buttons. | 
| protected LayoutManager | createLayoutManager() | Returns a layout manager. | 
| protected Container | createMessageArea() | Messaged from  installComponentsto create aContainercontaining the body of the message. | 
| protected PropertyChangeListener | createPropertyChangeListener() | Returns an instance of  PropertyChangeListener. | 
| protected Container | createSeparator() | Returns a separator. | 
| static ComponentUI | createUI | Creates a new  BasicOptionPaneUIinstance. | 
| protected Object[] | getButtons() | Returns the buttons to display from the  JOptionPanethe receiver is providing the look and feel for. | 
| protected Icon | getIcon() | Returns the icon from the  JOptionPanethe receiver is providing the look and feel for, or the default icon as returned fromgetDefaultIcon. | 
| protected Icon | getIconForType | 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  JOptionPanethe receiver is providing the look and feel for. | 
| Dimension | getMinimumOptionPaneSize() | Returns the minimum size the option pane should be. | 
| Dimension | getPreferredSize | If  cis theJOptionPanethe receiver is contained in, the preferred size that is returned is the maximum of the preferred size of theLayoutManagerfor theJOptionPane, andgetMinimumOptionPaneSize. | 
| protected boolean | getSizeButtonsToSameWidth() | Returns  true, basic L&F wants all the buttons to have the same width. | 
| protected void | installComponents() | Registers components. | 
| protected void | installDefaults() | Installs default properties. | 
| protected void | installKeyboardActions() | Registers keyboard actions. | 
| protected void | installListeners() | Registers listeners. | 
| void | installUI | 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 | If inputComponent is non-null, the focus is requested on that, otherwise request focus on the default value | 
| protected void | uninstallComponents() | Unregisters components. | 
| protected void | uninstallDefaults() | Uninstalls default properties. | 
| protected void | uninstallKeyboardActions() | Unregisters keyboard actions. | 
| protected void | uninstallListeners() | Unregisters listeners. | 
| void | uninstallUI | Removes the receiver from the L&F controller of the passed in split pane. | 
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, paint, update
public static final int MinimumWidth
JOptionPane.public static final int MinimumHeight
JOptionPane.protected JOptionPane optionPane
JOptionPane that the receiver is providing the look and feel for.protected Dimension minimumSize
JOptionPane.protected JComponent inputComponent
protected Component initialFocusComponent
protected boolean hasCustomComponents
protected PropertyChangeListener propertyChangeListener
PropertyChangeListener.public BasicOptionPaneUI()
BasicOptionPaneUI.public static ComponentUI createUI(JComponent x)
BasicOptionPaneUI instance.x - the componentBasicOptionPaneUI instancepublic void installUI(JComponent c)
JOptionPane.installUI in class ComponentUI
c - the component where this UI delegate is being installedpublic void uninstallUI(JComponent c)
uninstallUI in class ComponentUI
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 componentsprotected void installDefaults()
protected void uninstallDefaults()
protected void installComponents()
protected void uninstallComponents()
protected LayoutManager createLayoutManager()
protected void installListeners()
protected void uninstallListeners()
protected PropertyChangeListener createPropertyChangeListener()
PropertyChangeListener.PropertyChangeListener
protected void installKeyboardActions()
protected void uninstallKeyboardActions()
public Dimension getMinimumOptionPaneSize()
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 JOptionPane, and getMinimumOptionPaneSize.getPreferredSize in class ComponentUI
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 componentsDimension object containing given component's preferred size appropriate for the look and feelprotected Container createMessageArea()
installComponents to create a Container containing the body of the message. The icon is the created by calling addIcon.Container
protected void addMessageComponents(Container container, GridBagConstraints cons, Object msg, int maxll, boolean internallyCreated)
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 msg is an Object[], this method will be recursively invoked for the children. internallyCreated is true if msg is an instance of Component and was created internally by this method (this is used to correctly set hasCustomComponents only if internallyCreated is false).container - a containercons - an instance of GridBagConstraints
msg - a messagemaxll - a maximum lengthinternallyCreated - true if the component was internally createdprotected Object getMessage()
JOptionPane the receiver is providing the look and feel for.protected void addIcon(Container top)
getIcon to top. This is messaged from createMessageArea.top - a containerprotected Icon getIcon()
JOptionPane the receiver is providing the look and feel for, or the default icon as returned from getDefaultIcon.protected Icon getIconForType(int messageType)
messageType - a type of messageprotected int getMaxCharactersPerLineCount()
protected void burstStringInto(Container c, String d, int maxll)
JLabel instances to represent d. Each JLabel instance is added to c.c - a containerd - a textmaxll - a maximum length of a textprotected Container createSeparator()
protected Container createButtonArea()
Container containing the buttons. The buttons are created by calling getButtons.Container containing the buttonsprotected void addButtonComponents(Container container, Object[] buttons, int initialIndex)
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.container - a containerbuttons - an array of buttonsinitialIndex - an initial indexprotected ActionListener createButtonActionListener(int buttonIndex)
ButtonActionListener.buttonIndex - an index of the buttonButtonActionListener
protected Object[] getButtons()
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()
true, basic L&F wants all the buttons to have the same width.true if all the buttons should have the same widthprotected int getInitialValueIndex()
protected void resetInputValue()
public void selectInitialValue(JOptionPane op)
selectInitialValue in class OptionPaneUI
op - a JOptionPane
public boolean containsCustomComponents(JOptionPane op)
containsCustomComponents in class OptionPaneUI
op - a JOptionPane
true if the given JOptionPane contains user created Components
    © 1993, 2023, 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.
    https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/plaf/basic/BasicOptionPaneUI.html