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
Nested ClassesModifier and TypeClassDescriptionprotected classNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected booleanprotected booleanprotected Stringprotected intprotected booleanprotected de.schmitzm.swing.SortableJTableprotected FWTableChoiceSubComponent.FWTableModelprotected booleanprotected StringFields inherited from class net.simplace.pipe.formcomponents.FWAbstractFormSubComponent
iFormComponentParameterMap, iIsEnabled, iObservableFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionFWTableChoiceSubComponent(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.voidsetEnabled(boolean aIsEnabled) Allows to set the value of the implemented subcomponentvoidsetSelectedIDs(String aIds) Sets the table selection by option id.voidSets the table selection by value.voidupdateTable(Vector<FWFormOption> aFormOptionVector) Updates the choice listvoidNotifies the parent component whenever the value (selection) of this component changesMethods inherited from class net.simplace.pipe.formcomponents.FWAbstractFormSubComponent
addChangeListener, fireStateChanged, getChangeListeners, getLocaleValue, isEnabled, removeChangeListenerMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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:
getPreferredSizein classJComponent
-
getValue
Returns the current table selection. Depending on single or multi selection the functions returns a single cell value (- Specified by:
getValuein 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:
getSelectedValueListin 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:
setValuein 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:
setEnabledin 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:
valueChangedin interfaceListSelectionListener
-