Class FWTableChoiceSubComponent
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
net.simplace.pipe.formcomponents.FWAbstractFormSubComponent
net.simplace.pipe.formcomponents.choice.FWTableChoiceSubComponent
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,ListSelectionListener
public class FWTableChoiceSubComponent
extends FWAbstractFormSubComponent
implements ListSelectionListener
This class is used to visualize a
FWChoiceFormComponent
of type "table".
Each table row represents a choice value. The parameter "selectionColIdx" determines
from which table column the choice value is taken (Default: 0 = first column).
Like for FWListChoiceSubComponent
multi selection is possible. In this case
- An extra checkbox column is added to the table (using
SelectionTableModel
), so that it is not necessary to hold Strg-Key to select individual table rows. - The choice return value holds a separated concatenation of the selection column value of each row. The separator can be specified in the "multiselect_seperator" parameter (Default: comma). An apostrophe can be places additionally to the parameter "multiselect_seperator" to indicate that the concatenated values are masked with apostrophe.
- If "sql_where_param" parameter is set, the choice return value is constructed as an SQL condition with OR-concatenation.
- The attribute "showAll" is not yet supported. The table is always placed
in
JScrollPane
.
- Author:
- M.Schmitz
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
protected boolean
protected boolean
protected String
protected int
protected boolean
protected de.schmitzm.swing.SortableJTable
protected FWTableChoiceSubComponent.FWTableModel
protected boolean
protected String
Fields inherited from class net.simplace.pipe.formcomponents.FWAbstractFormSubComponent
iFormComponentParameterMap, iIsEnabled, iObservable
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
ConstructorDescriptionFWTableChoiceSubComponent
(Vector<FWFormOption> aOptions, boolean aMultiSelect, boolean aRequired, boolean aIsEnabled, boolean aShowAll, FWObservable aObservable, Map<String, Object> aFormComponentParameterMap, String aDefaultValueID, String aChoiceFieldId) -
Method Summary
Modifier and TypeMethodDescriptionReturns the preferred size for the sub component.Returns all selected values as list.getValue()
Returns the current table selection.void
setEnabled
(boolean aIsEnabled) Allows to set the value of the implemented subcomponentvoid
setSelectedIDs
(String aIds) Sets the table selection by option id.void
Sets the table selection by value.void
updateTable
(Vector<FWFormOption> aFormOptionVector) Updates the choice listvoid
Notifies the parent component whenever the value (selection) of this component changesMethods inherited from class net.simplace.pipe.formcomponents.FWAbstractFormSubComponent
addChangeListener, fireStateChanged, getChangeListeners, getLocaleValue, isEnabled, removeChangeListener
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, 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, 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, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
iTable
protected de.schmitzm.swing.SortableJTable iTable -
iTableModel
-
iIsMultiSelect
protected boolean iIsMultiSelect -
iIsRequired
protected boolean iIsRequired -
iShowAll
protected boolean iShowAll -
iSelectionColIdx
protected int iSelectionColIdx -
iWhereFormParam
-
iMultiselectSeperatorParam
-
iUseApostroph
protected boolean iUseApostroph -
iChoiceFieldId
-
-
Constructor Details
-
FWTableChoiceSubComponent
public FWTableChoiceSubComponent(Vector<FWFormOption> aOptions, boolean aMultiSelect, boolean aRequired, boolean aIsEnabled, boolean aShowAll, FWObservable aObservable, Map<String, Object> aFormComponentParameterMap, String aDefaultValueID, String aChoiceFieldId) - Parameters:
aOptions
- form options to generate the table content fromaMultiSelect
- indicates whether multiple table rows can be selectedaRequired
- indicates whether row choice is requiredaIsEnabled
- indicated whether table component is enabledaShowAll
- indicated whether all table rows are shown (not supported!)aObservable
-aFormComponentParameterMap
-aDefaultValueID
- ID of default selectionaChoiceFieldId
- id of the parent choice field (used to localize column headers)
-
-
Method Details
-
getPreferredSize
Returns the preferred size for the sub component. If the table is smaller than the preferred scroll pane size, then the table's size is returned (+ table header size).- Overrides:
getPreferredSize
in classJComponent
-
getValue
Returns the current table selection. Depending on single or multi selection the functions returns a single cell value (- Specified by:
getValue
in classFWAbstractFormSubComponent
- Returns:
- value of the implemented subcomponent
-
getSelectedValueList
Returns all selected values as list. In single selection mode the list always contains only one element.- Specified by:
getSelectedValueList
in classFWAbstractFormSubComponent
- Returns:
- value of the implemented subcomponent
-
setValue
Sets the table selection by value. Multiple values can be specified as comma-separated list of values. If no table row with a value to select (in selection column) can be identified, the specified value(s) are used as option ids to define a selection. Note: If multiple table rows contain the same value in the selection column, only the FIRST row is selected (even in multi selection mode!)- Specified by:
setValue
in classFWAbstractFormSubComponent
- Parameters:
aValues
- String representation of the value to be set
-
setSelectedIDs
Sets the table selection by option id. Multiple option ids can be specified as comma-separated list.- Parameters:
aIds
-
-
updateTable
Updates the choice list- Parameters:
aFormOptionVector
- Vector of niew FormOptions
-
setEnabled
public void setEnabled(boolean aIsEnabled) Allows to set the value of the implemented subcomponent- Overrides:
setEnabled
in classFWAbstractFormSubComponent
- Parameters:
aValue
- String representation of the value to be set
-
valueChanged
Notifies the parent component whenever the value (selection) of this component changes- Specified by:
valueChanged
in interfaceListSelectionListener
-