javax.swing.plaf.basic

Class BasicOptionPaneUI

  • Direct Known Subclasses:
    SynthOptionPaneUI

    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.

    • Field Detail

      • 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.
    • Constructor Detail

      • BasicOptionPaneUI

        public BasicOptionPaneUI()
    • Method Detail

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

Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-javax/swing/plaf/basic/basicoptionpaneui.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

References

  1. View the html document Language of the document:fr Manuel PHP : https://docs.oracle.com

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut