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
`class` | `AbstractEditorPanel.ListRightClickMenuItem`

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
`javax.swing.border.TitledBorder` | `border` The panel's border (if it has one)
`IXButPanel` | `butPanel` A sub-panel containing buttons
`protected javax.swing.JButton` | `deminBut`
`protected javax.swing.ImageIcon` | `deminIcon`
`boolean` | `isBordered`
`javax.swing.JComponent` | `itemComponent` The panel's item that may contain data.
`protected javax.swing.JButton` | `minBut`
`protected javax.swing.ImageIcon` | `minIcon`
`javax.swing.JLabel` | `nameLabel` The panel's label (title)
`(package private) java.awt.GridBagConstraints` | `oldGBC`
`(package private) javax.swing.JPopupMenu` | `rightClickMenu`
`protected javax.swing.JScrollPane` | `scrollPan` A scroll-panel for the component (if required)
`protected javax.swing.ImageIcon` | `xDeminIcon`
`protected javax.swing.ImageIcon` | `xMinIcon`

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(boolean minimisable)` 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 minimisable, boolean makeBorder)` Creates a panel as above but with a given border setting.
`AbstractEditorPanel(java.util.EventListener ml, boolean makeBorder, java.lang.String label, boolean minimisable, 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, boolean minimisable, javax.swing.JComponent component, java.lang.String[] buttons)` Creates a panel with a title, component (left) and buttons (right).
`AbstractEditorPanel(java.util.EventListener ml, boolean makeBorder, java.lang.String label, javax.swing.JComponent component)`
`AbstractEditorPanel(java.util.EventListener ml, boolean makeBorder, java.lang.String label, javax.swing.JComponent component, java.lang.String[] buttons)`
`AbstractEditorPanel(java.util.EventListener ml, java.lang.String label, boolean minimisable, 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, boolean minimisable, 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, boolean minimisable, java.lang.String[] buttons)` Creates a panel with a label (top left) and buttons (right) only.
`AbstractEditorPanel(java.util.EventListener ml, java.lang.String label, javax.swing.JComponent component)`
`AbstractEditorPanel(java.util.EventListener ml, java.lang.String label, javax.swing.JComponent component, java.lang.String[] buttons)`
`AbstractEditorPanel(java.util.EventListener ml, java.lang.String label, java.lang.String[] buttons)`

Method Summary
`void` | `addComponentListener(java.util.EventListener ml)`
`void` | `adviseMinimise()`
`void` | `dataSet(java.lang.Object data)`
`void` | `deMinimise()`
`javax.swing.JPopupMenu` | `ensureRightClickMenu()`
`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)`
`boolean` | `isMinimisable()`
`boolean` | `isMinimised()`
`static boolean` | `isScrollItem(javax.swing.JComponent component)`
`void` | `larger()`
`protected void` | `makePanelComponent(java.util.EventListener ml, javax.swing.JComponent component)` Puts the component into the panel (left) and sets the title.
`javax.swing.JPopupMenu` | `makeRightClickMenu(java.util.HashSet buttons)`
`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 and the component (needed for right-click)
`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;
`void` | `smaller()`

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

### scrollPan

    protected javax.swing.JScrollPane scrollPan

  A scroll-panel for the component (if required)

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

### minIcon

    protected javax.swing.ImageIcon minIcon

### deminIcon

    protected javax.swing.ImageIcon deminIcon

### xDeminIcon

    protected javax.swing.ImageIcon xDeminIcon

### xMinIcon

    protected javax.swing.ImageIcon xMinIcon

### minBut

    protected javax.swing.JButton minBut

### deminBut

    protected javax.swing.JButton deminBut

### rightClickMenu

    javax.swing.JPopupMenu rightClickMenu

### oldGBC

    java.awt.GridBagConstraints oldGBC

Constructor Detail

### AbstractEditorPanel

    public AbstractEditorPanel(boolean minimisable)

  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 minimisable,
                               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,
                               boolean minimisable,
                               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,
                               boolean makeBorder,
                               java.lang.String label,
                               javax.swing.JComponent component)

### AbstractEditorPanel

    public AbstractEditorPanel(java.util.EventListener ml,
                               java.lang.String label,
                               boolean minimisable,
                               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,
                               javax.swing.JComponent component)

### AbstractEditorPanel

    public AbstractEditorPanel(java.util.EventListener ml,
                               java.lang.String label,
                               boolean minimisable,
                               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,
                               java.lang.String label,
                               java.lang.String[] buttons)

### AbstractEditorPanel

    public AbstractEditorPanel(java.util.EventListener ml,
                               boolean makeBorder,
                               java.lang.String label,
                               boolean minimisable,
                               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,
                               boolean makeBorder,
                               java.lang.String label,
                               javax.swing.JComponent component,
                               java.lang.String[] buttons)

### AbstractEditorPanel

    public AbstractEditorPanel(java.util.EventListener ml,
                               java.lang.String label,
                               boolean minimisable,
                               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

### AbstractEditorPanel

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

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

### ensureRightClickMenu

    public javax.swing.JPopupMenu ensureRightClickMenu()

### makeRightClickMenu

    public javax.swing.JPopupMenu makeRightClickMenu(java.util.HashSet buttons)

### 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 and the component (needed for right-click)

  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`

### deMinimise

    public void deMinimise()

  Specified by:
    `deMinimise` in interface `IXEditorPanel`

### smaller

    public void smaller()

  Specified by:
    `smaller` in interface `IXEditorPanel`

### larger

    public void larger()

  Specified by:
    `larger` in interface `IXEditorPanel`

### adviseMinimise

    public void adviseMinimise()

### isMinimised

    public boolean isMinimised()

  Specified by:
    `isMinimised` in interface `IXEditorPanel`

### isMinimisable

    public boolean isMinimisable()

### hasData

    public boolean hasData()

### dataSet

    public void dataSet(java.lang.Object data)

### 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 NOTE: this should call dataSet(data) when it's done

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