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, EncodingsOptionPane, FirewallOptionPane, GeneralOptionPane, GutterOptionPane, MouseOptionPane, OptionGroupPane, PluginManagerOptionPane, PluginOptionGroup.NoPluginsPane, PluginOptions.NoPluginsPane, PrintOptionPane, SaveBackupOptionPane, ShortcutsOptionPane, StatusBarOptionPane, SyntaxHiliteOptionPane, TextAreaOptionPane, ToolBarOptionPane, 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
`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

`accessibleContext, 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

`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

Methods
`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, 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, hide, 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. 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`
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`

#### 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)

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.