## 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:
  javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, OptionPane, java.io.Serializable

Direct Known Subclasses:
  AbbrevsOptionPane, AppearanceOptionPane, AutosaveBackupOptionPane, BrowserColorsOptionPane, BrowserOptionPane, ContextOptionPane, DockingOptionPane, EditingOptionPane, FirewallOptionPane, GeneralOptionPane, GutterOptionPane, MouseOptionPane, PluginManagerOptionPane, PrintOptionPane, 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)`

Version:
  $Id: AbstractOptionPane.java,v 1.18 2004/03/28 00:07:26 spestov Exp $
Author:
  Slava Pestov, John Gellene (API documentation)
See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JPanel
`javax.swing.JPanel.AccessibleJPanel`

Nested classes inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary
`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
`AbstractOptionPane(java.lang.String name)` Creates a new option pane.

Method Summary
`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()` Do not override this method, override `_init()` instead.
`void` `save()` Do not override this method, override `_save()` instead.

Methods inherited from class javax.swing.JPanel
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, 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 name)

  Creates a new option pane.

Parameters:
  `name` - 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`

### 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 void init()

  Do not override this method, override `_init()` instead.

  Specified by:
    `init` in interface `OptionPane`

### save

    public void save()

  Do not override this method, override `_save()` instead.

  Specified by:
    `save` in interface `OptionPane`

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