AbstractOptionPane (jEdit API Documentation)
Date: 2018-04-10

org.gjt.sp.jedit

## Class AbstractOptionPane

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - org.gjt.sp.jedit.AbstractOptionPane

- All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, OptionPane
  Direct Known Subclasses:
    AbbrevsOptionPane, AbstractContextOptionPane, AppearanceOptionPane, BrowserColorsOptionPane, BrowserOptionPane, BufferOptionPane, DockingOptionPane, EditingOptionPane, EditModesPane, EncodingsOptionPane, FirewallOptionPane, GeneralOptionPane, GutterOptionPane, LargeFilesOptionPane, ModeSettingsPane, MouseOptionPane, OptionGroupPane, PluginManagerOptionPane, PluginOptionGroup.NoPluginsPane, PluginOptions.NoPluginsPane, PrintOptionPane, SaveBackupOptionPane, ShortcutsOptionPane, StatusBarOptionPane, SyntaxHiliteOptionPane, TextAreaOptionPane, ToolBarOptionPane, UndoPane, ViewOptionPane

      public class AbstractOptionPane
      extends javax.swing.JPanel
      implements OptionPane

  The default implementation of the option pane interface.

  See `EditPlugin` for information on how jEdit obtains and constructs option pane instances.

  Most option panes extend this implementation of `OptionPane`, instead of implementing `OptionPane` directly. This class provides a convenient default framework for laying out configuration options.

  It is derived from Java's `JPanel` class and uses a `GridBagLayout` object for component management. Since `GridBagLayout` can be a bit cumbersome to use, this class contains shortcut methods to simplify layout:

  - `addComponent(Component)`
  - `addComponent(String,Component)`
  - `addComponent(String,Component,int)`
  - `addComponent(Component,Component)`
  - `addComponent(Component,Component,int)`
  - `addSeparator()`
  - `addSeparator(String)`
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JPanel

      `javax.swing.JPanel.AccessibleJPanel`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `javax.swing.JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.awt.GridBagLayout` | `gridBag` The layout manager.
    `protected boolean` | `initialized` Has the option pane been initialized?
    `protected int` | `y` The number of components already added to the layout manager.

    - ### Fields inherited from class javax.swing.JComponent

      `listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

    - ### Fields inherited from class java.awt.Component

      `accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractOptionPane(java.lang.String internalName)` Creates a new option pane.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `_init()` This method should create and arrange the components of the option pane and initialize the option data displayed to the user.
    `protected void` | `_save()` Called when the options dialog's "ok" button is clicked.
    `void` | `addComponent(java.awt.Component comp)` Adds a component to the option pane.
    `void` | `addComponent(java.awt.Component comp1, java.awt.Component comp2)` Adds a labeled component to the option pane.
    `void` | `addComponent(java.awt.Component comp1, java.awt.Component comp2, int fill)` Adds a labeled component to the option pane.
    `void` | `addComponent(java.awt.Component comp, int fill)` Adds a component to the option pane.
    `void` | `addComponent(java.lang.String label, java.awt.Component comp)` Adds a labeled component to the option pane.
    `void` | `addComponent(java.lang.String label, java.awt.Component comp, int fill)` Adds a labeled component to the option pane.
    `void` | `addSeparator()` Adds a separator component.
    `void` | `addSeparator(java.lang.String label)` Adds a separator component.
    `java.awt.Component` | `getComponent()` Returns the component that should be displayed for this option pane.
    `java.lang.String` | `getName()` Returns the internal name of this option pane.
    `void` | `init()` This method is called every time the option pane is displayed.
    `javax.swing.JLabel` | `newLabel(java.lang.String label, java.awt.Component comp)`
    `void` | `save()` Called when the options dialog's "ok" button is clicked.

    - ### Methods inherited from class javax.swing.JPanel

      `getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

    - ### Methods inherited from class javax.swing.JComponent

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree`

    - ### Methods inherited from class java.awt.Component

      `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### initialized

          protected boolean initialized

      Has the option pane been initialized?

    - #### gridBag

          protected java.awt.GridBagLayout gridBag

      The layout manager.

    - #### y

          protected int y

      The number of components already added to the layout manager.

  - ### Constructor Detail

    - #### AbstractOptionPane

          public AbstractOptionPane(java.lang.String internalName)

      Creates a new option pane.
      Parameters:
        `internalName` - The internal name. This should be the same name as that provided in the plugin's `plugin.className.option-group` or `.option-pane` property. The option pane's label is set to the value of the property named `options.name.label`.

  - ### Method Detail

    - #### getName

          public java.lang.String getName()

      Returns the internal name of this option pane. The option pane's label is set to the value of the property named `options.name.label`.
      Specified by:
        `getName` in interface `OptionPane`
      Overrides:
        `getName` in class `java.awt.Component`
      Returns:
        the internal name of this option pane. The option pane's label is set to the value of the property named `options.name.label`.
      See Also:
        `jEdit.getProperty(String)`

    - #### getComponent

          public java.awt.Component getComponent()

      Returns the component that should be displayed for this option pane. Because this class extends Component, it simply returns "this".
      Specified by:
        `getComponent` in interface `OptionPane`
      Returns:
        the component that should be displayed for this option pane.

    - #### init

          public final void init()

      Description copied from interface: `OptionPane`
      This method is called every time the option pane is displayed.
      Specified by:
        `init` in interface `OptionPane`

    - #### save

          public final void save()

      Description copied from interface: `OptionPane`
      Called when the options dialog's "ok" button is clicked. This should save any properties being edited in this option pane.
      Specified by:
        `save` in interface `OptionPane`

    - #### newLabel

          public javax.swing.JLabel newLabel(java.lang.String label,
                                             java.awt.Component comp)

      Parameters:
        `label` - The label to associate with comp
        `comp` - The component to associate the label
      Returns:
        a label which has the same tooltiptext as the Component that it is a label for. This is used to create labels from inside AbstractOptionPane.
      Since:
        jEdit 4.3pre4

    - #### addComponent

          public void addComponent(java.lang.String label,
                                   java.awt.Component comp)

      Adds a labeled component to the option pane. Components are added in a vertical fashion, one per row. The label is displayed to the left of the component.
      Parameters:
        `label` - The label
        `comp` - The component

    - #### addComponent

          public void addComponent(java.lang.String label,
                                   java.awt.Component comp,
                                   int fill)

      Adds a labeled component to the option pane. Components are added in a vertical fashion, one per row. The label is displayed to the left of the component.
      Parameters:
        `label` - The label
        `comp` - The component
        `fill` - Fill parameter to GridBagConstraints for the right component

    - #### addComponent

          public void addComponent(java.awt.Component comp1,
                                   java.awt.Component comp2)

      Adds a labeled component to the option pane. Components are added in a vertical fashion, one per row. The label is displayed to the left of the component.
      Parameters:
        `comp1` - The label
        `comp2` - The component
      Since:
        jEdit 4.1pre3

    - #### addComponent

          public void addComponent(java.awt.Component comp1,
                                   java.awt.Component comp2,
                                   int fill)

      Adds a labeled component to the option pane. Components are added in a vertical fashion, one per row. The label is displayed to the left of the component.
      Parameters:
        `comp1` - The label
        `comp2` - The component
        `fill` - Fill parameter to GridBagConstraints for the right component
      Since:
        jEdit 4.1pre3

    - #### addComponent

          public void addComponent(java.awt.Component comp)

      Adds a component to the option pane. Components are added in a vertical fashion, one per row.
      Parameters:
        `comp` - The component

    - #### addComponent

          public void addComponent(java.awt.Component comp,
                                   int fill)

      Adds a component to the option pane. Components are added in a vertical fashion, one per row.
      Parameters:
        `comp` - The component
        `fill` - Fill parameter to GridBagConstraints
      Since:
        jEdit 4.2pre2

    - #### addSeparator

          public void addSeparator()

      Adds a separator component.
      Since:
        jEdit 4.1pre7

    - #### addSeparator

          public void addSeparator(java.lang.String label)

      Adds a separator component.
      Parameters:
        `label` - The separator label property
      Since:
        jEdit 2.6pre2

    - #### _init

          protected void _init()

      This method should create and arrange the components of the option pane and initialize the option data displayed to the user. This method is called when the option pane is first displayed, and is not called again for the lifetime of the object.

    - #### _save

          protected void _save()

      Called when the options dialog's "ok" button is clicked. This should save any properties being edited in this option pane.