Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ix.iface.ui
Class AbstractEditorPanel

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      ix.iface.ui.AbstractEditorPanel

All Implemented Interfaces:
  IXEditorPanel, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

Direct Known Subclasses:
  ListEditorPanel, MiniConstraintPanel, ThingEditorPanel

    public abstract class AbstractEditorPanel

extends javax.swing.JPanel
implements IXEditorPanel

A simple panel with a label (title), a component, and optional buttons. The given label will be at the top, the given component at the left and buttons with given labels on the right. Adds the given listener to the buttons and the list.

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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary
`javax.swing.border.TitledBorder` | `border` The panel's border (if it has one)
`IXButPanel` | `butPanel` A sub-panel containing buttons
`boolean` | `isBordered`
`javax.swing.JComponent` | `itemComponent` The panel's item that may contain data.
`javax.swing.JLabel` | `nameLabel` The panel's label (title)

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
`AbstractEditorPanel()` Creates a panel with a label (top left) or a border (depending on the default) Other components (a JComponent and a button panel) are usually added via one of the other constructors; the label text is set in other constructors.
`AbstractEditorPanel(boolean makeBorder)` Creates a panel as above but with a given border setting.
`AbstractEditorPanel(java.util.EventListener ml, boolean makeBorder, java.lang.String label, javax.swing.JComponent component)` Creates a panel with a title and a component (left).
`AbstractEditorPanel(java.util.EventListener ml, boolean makeBorder, java.lang.String label, javax.swing.JComponent component, java.lang.String[] buttons)` Creates a panel with a title, component (left) and buttons (right).
`AbstractEditorPanel(java.util.EventListener ml, java.lang.String label, javax.swing.JComponent component)` Creates a panel with a title and a component (left) as above with default border/label.
`AbstractEditorPanel(java.util.EventListener ml, java.lang.String label, javax.swing.JComponent component, java.lang.String[] buttons)` Creates a panel as above but with the default border/label setting.
`AbstractEditorPanel(java.util.EventListener ml, java.lang.String label, java.lang.String[] buttons)` Creates a panel with a label (top left) and buttons (right) only.

Method Summary
`void` | `addComponentListener(java.util.EventListener ml)`
`abstract java.lang.Object` | `getData()` Gets the current data of the panel's item component.
`javax.swing.JComponent` | `getItemComponent()` Gets the component of the panel.
`java.lang.String` | `getName()` Gets the panel's name (the label)
`boolean` | `hasData()`
`boolean` | `isListItem()` Checks whether the item component can take lists (e.g.
`static boolean` | `isListItem(javax.swing.JComponent component)`
`static boolean` | `isScrollItem(javax.swing.JComponent component)`
`protected void` | `makePanelComponent(java.util.EventListener ml, javax.swing.JComponent component)` Puts the component into the panel (left) and sets the title.
`void` | `minimise()` Minimises the component and the rest of the editor
`abstract void` | `removeData()` Removes all data from the item component
`abstract void` | `setData(java.lang.Object data)` Sets the current data of the item component.
`void` | `setEnabled(boolean isEditable)` Makes the item (not) editable and enables (disables) the buttons
`void` | `setLabel(java.lang.String label)` Sets the panel's label
`abstract boolean` | `setRenderer(javax.swing.ListCellRenderer r)` Sets the renderer if the itemComponent is a JList or a JComboBox;

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

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### isBordered

    public boolean isBordered

### butPanel

    public IXButPanel butPanel

  A sub-panel containing buttons

### nameLabel

    public javax.swing.JLabel nameLabel

  The panel's label (title)

### border

    public javax.swing.border.TitledBorder border

  The panel's border (if it has one)

### itemComponent

    public javax.swing.JComponent itemComponent

  The panel's item that may contain data. There are methods for setting and getting data for JList and JTextComponent items

Constructor Detail

### AbstractEditorPanel

    public AbstractEditorPanel()

  Creates a panel with a label (top left) or a border (depending on the default) Other components (a JComponent and a button panel) are usually added via one of the other constructors; the label text is set in other constructors.

### AbstractEditorPanel

    public AbstractEditorPanel(boolean makeBorder)

  Creates a panel as above but with a given border setting. If there is a border, the title of the panel will appear in the border, otherwise it will appear in a label at the top left of the panel. Other components (a JComponent and a button panel) are usually added via one of the other constructors; the label text is set in other constructors.

### AbstractEditorPanel

    public AbstractEditorPanel(java.util.EventListener ml,
                               boolean makeBorder,
                               java.lang.String label,
                               javax.swing.JComponent component)

  Creates a panel with a title and a component (left). If the border-flag is set, the title will go into the border, otherwise a label will be used (top left). If the component is a JList or a JTextArea, it is made scrollable Also used by AbstractEditorPanel constructors that have buttons.

  Parameters:
    `ml` - the listener that is interested in component events
    `makeBorder` - a flag determining whether the title is set in a border (true) or a label (false).
    `label` - a string that is used as the label (title of the panel).
    `component` - the component at the left of the panel

### AbstractEditorPanel

    public AbstractEditorPanel(java.util.EventListener ml,
                               java.lang.String label,
                               javax.swing.JComponent component)

  Creates a panel with a title and a component (left) as above with default border/label.

  Parameters:
    `ml` - the listener that is interested in component events
    `label` - a string that is used as the label (title of the panel).
    `component` - the component at the left of the panel

### AbstractEditorPanel

    public AbstractEditorPanel(java.util.EventListener ml,
                               java.lang.String label,
                               java.lang.String[] buttons)

  Creates a panel with a label (top left) and buttons (right) only.

  Parameters:
    `ml` - the listener that is interested in button events
    `label` - a string that is used as the label (title of the panel).
    `buttons` - an array of strings that are button labels

### AbstractEditorPanel

    public AbstractEditorPanel(java.util.EventListener ml,
                               boolean makeBorder,
                               java.lang.String label,
                               javax.swing.JComponent component,
                               java.lang.String[] buttons)

  Creates a panel with a title, component (left) and buttons (right). The title goes either into a label (top left) or into a border, depening on the parameter. Calls AbstractEditorPanel(EventListener, label, JComponent) and makes the buttons itself.

  Parameters:
    `ml` - the listener that is interested in component events
    `makeBorder` - a flag determining whether the title is set in a border (true) or a label (false).
    `label` - a string that is used as the label (title of the panel).
    `component` - the component at the left of the panel
    `buttons` - an array of strings that are button labels

### AbstractEditorPanel

    public AbstractEditorPanel(java.util.EventListener ml,
                               java.lang.String label,
                               javax.swing.JComponent component,
                               java.lang.String[] buttons)

  Creates a panel as above but with the default border/label setting.

  Parameters:
    `ml` - the listener that is interested in component events
    `label` - a string that is used as the label (title of the panel).
    `component` - the component at the left of the panel
    `buttons` - an array of strings that are button labels

Method Detail

### makePanelComponent

    protected void makePanelComponent(java.util.EventListener ml,
                                      javax.swing.JComponent component)

  Puts the component into the panel (left) and sets the title. If the border-flag is set, the title will go into the border, otherwise a label will be used (top left). If the component is a JList, JTable or a JTextArea, it is made scrollable Also used by AbstractEditorPanel constructors that have buttons.

  Parameters:
    `ml` - the listener that is interested in component events
    `label` - a string that is used as the label (title of the panel).
    `component` - the component at the left of the panel

### addComponentListener

    public void addComponentListener(java.util.EventListener ml)

### setLabel

    public void setLabel(java.lang.String label)

  Sets the panel's label

  Specified by:
    `setLabel` in interface `IXEditorPanel`

### getItemComponent

    public javax.swing.JComponent getItemComponent()

  Gets the component of the panel.

  Specified by:
    `getItemComponent` in interface `IXEditorPanel`
  Returns:
    the JComponent that is at the left of the panel

### isListItem

    public boolean isListItem()

  Description copied from interface: `IXEditorPanel`
  Checks whether the item component can take lists (e.g. JList/JComboBox)

  Specified by:
    `isListItem` in interface `IXEditorPanel`

### isListItem

    public static boolean isListItem(javax.swing.JComponent component)

### isScrollItem

    public static boolean isScrollItem(javax.swing.JComponent component)

### getName

    public java.lang.String getName()

  Gets the panel's name (the label)

  Specified by:
    `getName` in interface `IXEditorPanel`
  Overrides:
    `getName` in class `java.awt.Component`

### setEnabled

    public void setEnabled(boolean isEditable)

  Makes the item (not) editable and enables (disables) the buttons

  Specified by:
    `setEnabled` in interface `IXEditorPanel`
  Overrides:
    `setEnabled` in class `javax.swing.JComponent`

### minimise

    public void minimise()

  Minimises the component and the rest of the editor

  Specified by:
    `minimise` in interface `IXEditorPanel`

### hasData

    public boolean hasData()

### getData

    public abstract java.lang.Object getData()

  Description copied from interface: `IXEditorPanel`
  Gets the current data of the panel's item component.

  Specified by:
    `getData` in interface `IXEditorPanel`
  Returns:
    an array of objects that are the current data model of the list

### setData

    public abstract void setData(java.lang.Object data)

  Description copied from interface: `IXEditorPanel`
  Sets the current data of the item component.

  Specified by:
    `setData` in interface `IXEditorPanel`
  Parameters:
    `data` - an object that is to be put into the item component

### removeData

    public abstract void removeData()

  Description copied from interface: `IXEditorPanel`
  Removes all data from the item component

  Specified by:
    `removeData` in interface `IXEditorPanel`

### setRenderer

    public abstract boolean setRenderer(javax.swing.ListCellRenderer r)

  Description copied from interface: `IXEditorPanel`
  Sets the renderer if the itemComponent is a JList or a JComboBox;

  Specified by:
    `setRenderer` in interface `IXEditorPanel`
  Returns:
    true if the renderer was set, false if not.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD