Module is.codion.swing.framework.ui
Package is.codion.swing.framework.ui
Class EntityEditComponentPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
is.codion.swing.framework.ui.EntityEditComponentPanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
EntityEditPanel
A base class for entity edit panels, managing the components used for editing entities.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static final class
Specifies the availible default values for component builders.static final class
Manages the components that should receive the input focus.final class
A factory for list builders for list based attributes.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 TypeFieldDescriptionstatic final PropertyValue<Integer>
Specifies the default number of text field columns Value type: Integer Default value: 12static final PropertyValue<Boolean>
Specifies whether label text should be underlined to indicate that the associated value is modified Value type: Boolean Default value: truestatic final PropertyValue<Integer>
The type of underline to use to indicate a modified value Value type: Integer Default value:TextAttribute.UNDERLINE_LOW_DOTTED
Valid values:TextAttribute
.UNDERLINE_*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
ModifierConstructorDescriptionprotected
EntityEditComponentPanel
(SwingEntityEditModel editModel) Instantiates a newEntityEditComponentPanel
-
Method Summary
Modifier and TypeMethodDescriptionprotected final void
addInputPanel
(Attribute<?> attribute) Adds a panel for the given attribute to this panelprotected final void
addInputPanel
(Attribute<?> attribute, Object constraints) Adds a panel for the given attribute to this panel using the given layout constraintsprotected final void
addInputPanel
(Attribute<?> attribute, JComponent inputComponent) Adds a panel for the given attribute to this panelprotected final void
addInputPanel
(Attribute<?> attribute, JComponent inputComponent, Object constraints) Adds a panel for the given attribute to this panel using the given layout constraintsprotected final <T> void
addValidator
(Attribute<T> attribute, JComboBox<?> comboBox) Adds a validator to the given combo boxprotected final <T> void
addValidator
(Attribute<T> attribute, JTextComponent textComponent) Adds a validator to the given text componentprotected final Value<JComponent>
protected final Map<Attribute<?>,
Value<JComponent>> protected final NumberField.Builder<BigDecimal>
createBigDecimalField
(Attribute<BigDecimal> attribute) Creates a builder for big decimal fields.protected final ItemComboBoxBuilder<Boolean>
createBooleanComboBox
(Attribute<Boolean> attribute) Creates a builder for boolean combo boxes.protected final CheckBoxBuilder
createCheckBox
(Attribute<Boolean> attribute) Creates a builder for check boxes.protected final <T,
C extends JComboBox<T>, B extends ComboBoxBuilder<T, C, B>>
ComboBoxBuilder<T,C, B> createComboBox
(Attribute<T> attribute, ComboBoxModel<T> comboBoxModel) Creates a builder for combo boxes.protected final <T,
C extends JComboBox<T>, B extends ComboBoxBuilder<T, C, B>>
ComboBoxBuilder<T,C, B> createComboBox
(Column<T> column) Creates a builder for a combo boxe, containing the values of the given column.protected final EntityComboBox.Builder
createComboBox
(ForeignKey foreignKey) Creates a builder for foreign key combo boxes.protected final EntityComboBoxPanel.Builder
createComboBoxPanel
(ForeignKey foreignKey, Supplier<EntityEditPanel> editPanel) Creates a builder for a foreign key combo box panel with optional buttons for adding and editing items.protected final NumberField.Builder<Double>
createDoubleField
(Attribute<Double> attribute) Creates a builder for double fields.protected final NumberSpinnerBuilder<Double>
createDoubleSpinner
(Attribute<Double> attribute) Creates a builder for a spinnerprotected final JPanel
createInputPanel
(Attribute<?> attribute) Creates a panel containing a label and the component associated with the given attribute.protected final JPanel
createInputPanel
(Attribute<?> attribute, JComponent inputComponent) Creates a panel containing a label and the component associated with the given attribute.protected final JPanel
createInputPanel
(Attribute<?> attribute, JComponent inputComponent, String labelBorderLayoutConstraints) Creates a panel containing a label and the component associated with the given attribute.protected final JPanel
createInputPanel
(Attribute<?> attribute, JComponent inputComponent, String labelBorderLayoutConstraints, int labelAlignment) Creates a panel containing a label and the given component.protected final JPanel
createInputPanel
(JComponent labelComponent, JComponent inputComponent) Creates a panel containing a label component and theinputComponent
with the label component positioned above the input component.protected final JPanel
createInputPanel
(JComponent labelComponent, JComponent inputComponent, String labelBorderLayoutConstraints) Creates a panel with a BorderLayout, with theinputComponent
atBorderLayout.CENTER
and thelabelComponent
at a specified location.protected final NumberField.Builder<Integer>
createIntegerField
(Attribute<Integer> attribute) Creates a builder for integer fields.protected final NumberSpinnerBuilder<Integer>
createIntegerSpinner
(Attribute<Integer> attribute) Creates a builder for a spinnerprotected final <T> ItemComboBoxBuilder<T>
createItemComboBox
(Attribute<T> attribute) Creates a builder for value item list combo boxes.protected final <T> ItemSpinnerBuilder<T>
createItemSpinner
(Attribute<T> attribute) Creates a builder for a list spinnerprotected final <T> LabelBuilder<T>
createLabel
(Attribute<T> attribute) Creates a builder for a label using the caption and mnemonic associated withattribute
.protected final <T> EntityEditComponentPanel.ListBuilderFactory<T>
createList
(ListModel<T> listModel) Creates a list builder factoryprotected final <T> ListSpinnerBuilder<T>
createListSpinner
(Attribute<T> attribute, SpinnerListModel spinnerListModel) Creates a builder for a list spinnerprotected final NumberField.Builder<Long>
createLongField
(Attribute<Long> attribute) Creates a builder for long fields.protected final MaskedTextFieldBuilder
createMaskedTextField
(Attribute<String> attribute) Creates a builder for formatted text fields.protected final EntitySearchField.SingleSelectionBuilder
createSearchField
(ForeignKey foreignKey) Creates a builder for foreign key search fields.protected final EntitySearchFieldPanel.SingleSelectionBuilder
createSearchFieldPanel
(ForeignKey foreignKey, Supplier<EntityEditPanel> editPanel) Creates a builder for a foreign key search field panel with optional buttons for adding and editing items.protected final SliderBuilder
createSlider
(Attribute<Integer> attribute) Creates a builder for a sliderprotected final <T extends Temporal>
TemporalField.Builder<T>createTemporalField
(Attribute<T> attribute) Creates a builder for temporal fields.protected final <T extends Temporal>
TemporalFieldPanel.Builder<T>createTemporalFieldPanel
(Attribute<T> attribute) Creates a builder for temporal field panels.protected final TextAreaBuilder
createTextArea
(Attribute<String> attribute) Creates a builder for text areas.protected final <T,
C extends JTextField, B extends TextFieldBuilder<T, C, B>>
TextFieldBuilder<T,C, B> createTextField
(Attribute<T> attribute) Creates a builder for text fields.protected final <B extends TextFieldBuilder<Entity,
JTextField, B>>
TextFieldBuilder<Entity,JTextField, B> createTextField
(ForeignKey foreignKey) Creates a builder for a read-only, non-focusable foreign key text field.protected final TextFieldPanel.Builder
createTextFieldPanel
(Attribute<String> attribute) Creates a builder for text field panels.protected final EntityEditComponentPanel.Defaults
defaults()
protected final void
displayException
(Exception exception) Displays the exception in a dialogfinal <T extends SwingEntityEditModel>
Tfocus()
protected final State
If set to true then component labels will indicate that the value is modified.protected void
onException
(Exception exception) Handles the given exception, simply displays the error message to the user by default.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, 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, setEnabled, 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, 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, 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
-
MODIFIED_INDICATOR
Specifies whether label text should be underlined to indicate that the associated value is modified- Value type: Boolean
- Default value: true
- See Also:
-
MODIFIED_INDICATOR_UNDERLINE_STYLE
The type of underline to use to indicate a modified value- Value type: Integer
- Default value:
TextAttribute.UNDERLINE_LOW_DOTTED
- Valid values:
TextAttribute
.UNDERLINE_*
- See Also:
-
DEFAULT_TEXT_FIELD_COLUMNS
Specifies the default number of text field columns- Value type: Integer
- Default value: 12
-
-
Constructor Details
-
EntityEditComponentPanel
Instantiates a newEntityEditComponentPanel
- Parameters:
editModel
- the edit model
-
-
Method Details
-
editModel
- Type Parameters:
T
- the edit model type- Returns:
- the edit model this panel is based on
-
focus
- Returns:
- the
EntityEditComponentPanel.InputFocus
instance, managing the input focus
-
onException
Handles the given exception, simply displays the error message to the user by default. Note that this method does nothing in case of aCancelException
.- Parameters:
exception
- the exception to handle- See Also:
-
component
- Parameters:
attribute
- the attribute- Returns:
- the
Value
containing the component associated with the given attribute
-
displayException
Displays the exception in a dialog- Parameters:
exception
- the exception to display
-
defaults
- Returns:
- the
EntityEditComponentPanel.Defaults
instance for this edit component panel
-
modifiedIndicator
If set to true then component labels will indicate that the value is modified. This applies to all components created by this edit component panel as well as components set viacomponent(Attribute)
as long as the component has a JLabel associated with its 'labeledBy' client property. Note that changing this has no effect on components that have already been created.- Returns:
- the
State
controlling whether components display an indicator if the value is modified - See Also:
-
addInputPanel
Adds a panel for the given attribute to this panel- Parameters:
attribute
- the attribute- See Also:
-
addInputPanel
Adds a panel for the given attribute to this panel using the given layout constraints- Parameters:
attribute
- the attributeconstraints
- the layout constraints- See Also:
-
addInputPanel
Adds a panel for the given attribute to this panel- Parameters:
attribute
- the attributeinputComponent
- a component bound toattribute
- See Also:
-
addInputPanel
protected final void addInputPanel(Attribute<?> attribute, JComponent inputComponent, Object constraints) Adds a panel for the given attribute to this panel using the given layout constraints- Parameters:
attribute
- the attributeinputComponent
- a component bound toattribute
constraints
- the layout constraints- See Also:
-
createInputPanel
Creates a panel containing a label and the component associated with the given attribute. The label text is the caption defined forattribute
. The default layout of the resulting panel is with the label on top and inputComponent below.- Parameters:
attribute
- the attribute from which definition to retrieve the label caption- Returns:
- a panel containing a label and a component
- Throws:
IllegalArgumentException
- in case no component has been associated with the given attribute
-
createInputPanel
Creates a panel containing a label and the component associated with the given attribute. The label text is the caption defined forattribute
. The default layout of the resulting panel is with the label on top andinputComponent
below.- Parameters:
attribute
- the attribute from which definition to retrieve the label captioninputComponent
- a component bound to the value ofattribute
- Returns:
- a panel containing a label and a component
-
createInputPanel
protected final JPanel createInputPanel(Attribute<?> attribute, JComponent inputComponent, String labelBorderLayoutConstraints) Creates a panel containing a label and the component associated with the given attribute. The label text is the caption defined for onattribute
.- Parameters:
attribute
- the attribute from which definition to retrieve the label captioninputComponent
- a component bound to the value ofattribute
labelBorderLayoutConstraints
-BorderLayout.NORTH
,BorderLayout.SOUTH
,BorderLayout.EAST
orBorderLayout.WEST
- Returns:
- a panel containing a label and a component
-
createInputPanel
protected final JPanel createInputPanel(Attribute<?> attribute, JComponent inputComponent, String labelBorderLayoutConstraints, int labelAlignment) Creates a panel containing a label and the given component. The label text is the caption ofattribute
.- Parameters:
attribute
- the attribute from which definition to retrieve the label captioninputComponent
- a component bound to the value ofattribute
labelBorderLayoutConstraints
-BorderLayout.NORTH
,BorderLayout.SOUTH
,BorderLayout.EAST
orBorderLayout.WEST
labelAlignment
- the label alignment- Returns:
- a panel containing a label and a component
-
createInputPanel
Creates a panel containing a label component and theinputComponent
with the label component positioned above the input component.- Parameters:
labelComponent
- the label componentinputComponent
- a input component- Returns:
- a panel containing a label and a component
-
createInputPanel
protected final JPanel createInputPanel(JComponent labelComponent, JComponent inputComponent, String labelBorderLayoutConstraints) Creates a panel with a BorderLayout, with theinputComponent
atBorderLayout.CENTER
and thelabelComponent
at a specified location.- Parameters:
labelComponent
- the label componentinputComponent
- a input componentlabelBorderLayoutConstraints
-BorderLayout.NORTH
,BorderLayout.SOUTH
,BorderLayout.EAST
orBorderLayout.WEST
- Returns:
- a panel containing a label and a component
-
createTextArea
Creates a builder for text areas.- Parameters:
attribute
- the attribute for which to build a text area- Returns:
- a text area builder
-
createTextFieldPanel
Creates a builder for text field panels.- Parameters:
attribute
- the attribute for which to build a text field panel- Returns:
- a text field panel builder
-
createTemporalFieldPanel
protected final <T extends Temporal> TemporalFieldPanel.Builder<T> createTemporalFieldPanel(Attribute<T> attribute) Creates a builder for temporal field panels.- Type Parameters:
T
- the temporal type- Parameters:
attribute
- the attribute for which to build a temporal field panel- Returns:
- a text area builder
-
createTextField
protected final <T,C extends JTextField, TextFieldBuilder<T,B extends TextFieldBuilder<T, C, B>> C, createTextFieldB> (Attribute<T> attribute) Creates a builder for text fields.- Type Parameters:
T
- the value typeC
- the text field typeB
- the builder type- Parameters:
attribute
- the attribute for which to build a text field- Returns:
- a text field builder
-
createTemporalField
protected final <T extends Temporal> TemporalField.Builder<T> createTemporalField(Attribute<T> attribute) Creates a builder for temporal fields.- Type Parameters:
T
- the temporal type- Parameters:
attribute
- the attribute for which to build a temporal field- Returns:
- an offset date time field builder
-
createSlider
Creates a builder for a slider- Parameters:
attribute
- the attribute- Returns:
- a slider builder
-
createIntegerSpinner
Creates a builder for a spinner- Parameters:
attribute
- the attribute- Returns:
- a spinner builder
-
createDoubleSpinner
Creates a builder for a spinner- Parameters:
attribute
- the attribute- Returns:
- a spinner builder
-
createListSpinner
protected final <T> ListSpinnerBuilder<T> createListSpinner(Attribute<T> attribute, SpinnerListModel spinnerListModel) Creates a builder for a list spinner- Type Parameters:
T
- the value type- Parameters:
attribute
- the attributespinnerListModel
- the spinner model- Returns:
- a spinner builder
-
createItemSpinner
Creates a builder for a list spinner- Type Parameters:
T
- the value type- Parameters:
attribute
- the attribute- Returns:
- a spinner builder
-
createIntegerField
Creates a builder for integer fields.- Parameters:
attribute
- the attribute for which to build a text field- Returns:
- a integer field builder
-
createLongField
Creates a builder for long fields.- Parameters:
attribute
- the attribute for which to build a text field- Returns:
- a long field builder
-
createDoubleField
Creates a builder for double fields.- Parameters:
attribute
- the attribute for which to build a text field- Returns:
- a double field builder
-
createBigDecimalField
protected final NumberField.Builder<BigDecimal> createBigDecimalField(Attribute<BigDecimal> attribute) Creates a builder for big decimal fields.- Parameters:
attribute
- the attribute for which to build a text field- Returns:
- a big decimal field builder
-
createMaskedTextField
Creates a builder for formatted text fields.- Parameters:
attribute
- the attribute for which to build a formatted text field- Returns:
- a formatted text field builder
-
createCheckBox
Creates a builder for check boxes. IfCheckBoxBuilder.nullable(boolean)
is set to true, aNullableCheckBox
is built.- Parameters:
attribute
- the attribute for which to build a check-box- Returns:
- a check-box builder
-
createBooleanComboBox
Creates a builder for boolean combo boxes.- Parameters:
attribute
- the attribute for which to build boolean combo box- Returns:
- a boolean combo box builder
-
createComboBox
protected final <T,C extends JComboBox<T>, ComboBoxBuilder<T,B extends ComboBoxBuilder<T, C, B>> C, createComboBoxB> (Attribute<T> attribute, ComboBoxModel<T> comboBoxModel) Creates a builder for combo boxes.- Type Parameters:
T
- the value typeC
- the component typeB
- the builder type- Parameters:
attribute
- the attribute for which to build combo boxcomboBoxModel
- the combo box model- Returns:
- a combo box builder
-
createItemComboBox
Creates a builder for value item list combo boxes.- Type Parameters:
T
- the value type- Parameters:
attribute
- the attribute for which to build a value list combo box- Returns:
- a value item list combo box builder
-
createComboBox
protected final <T,C extends JComboBox<T>, ComboBoxBuilder<T,B extends ComboBoxBuilder<T, C, B>> C, createComboBoxB> (Column<T> column) Creates a builder for a combo boxe, containing the values of the given column.- Type Parameters:
T
- the value typeC
- the component typeB
- the builder type- Parameters:
column
- the column for which to build a combo box- Returns:
- a combo box builder
-
createComboBox
Creates a builder for foreign key combo boxes.- Parameters:
foreignKey
- the foreign key for which to build a combo box- Returns:
- a foreign key combo box builder
-
createComboBoxPanel
protected final EntityComboBoxPanel.Builder createComboBoxPanel(ForeignKey foreignKey, Supplier<EntityEditPanel> editPanel) Creates a builder for a foreign key combo box panel with optional buttons for adding and editing items.- Parameters:
foreignKey
- the foreign keyeditPanel
- supplies the edit panel to use for the add and/or edit buttons- Returns:
- a foreign key combo box panel builder
-
createSearchField
Creates a builder for foreign key search fields.- Parameters:
foreignKey
- the foreign key for which to build a search field- Returns:
- a foreign key search field builder
-
createSearchFieldPanel
protected final EntitySearchFieldPanel.SingleSelectionBuilder createSearchFieldPanel(ForeignKey foreignKey, Supplier<EntityEditPanel> editPanel) Creates a builder for a foreign key search field panel with optional buttons for adding and editing items.- Parameters:
foreignKey
- the foreign keyeditPanel
- the edit panel supplier to use for the add and/or edit buttons- Returns:
- a foreign key combo box panel builder
-
createTextField
protected final <B extends TextFieldBuilder<Entity,JTextField, TextFieldBuilder<Entity,B>> JTextField, createTextFieldB> (ForeignKey foreignKey) Creates a builder for a read-only, non-focusable foreign key text field.- Type Parameters:
B
- the builder type- Parameters:
foreignKey
- the foreign key for which to build a text field- Returns:
- a foreign key text field builder
-
createList
protected final <T> EntityEditComponentPanel.ListBuilderFactory<T> createList(ListModel<T> listModel) Creates a list builder factory- Type Parameters:
T
- the value type- Parameters:
listModel
- the list model to base the list on- Returns:
- a list builder factory
-
createLabel
Creates a builder for a label using the caption and mnemonic associated withattribute
. If an input component exists for the given attribute the label is associated with it viaJLabel.setLabelFor(Component)
.- Type Parameters:
T
- the attribute type- Parameters:
attribute
- the attribute from which to retrieve the caption- Returns:
- a label builder for the given attribute
-
addValidator
Adds a validator to the given text component- Type Parameters:
T
- the value type- Parameters:
attribute
- the attribute of the value to validatetextComponent
- the text component
-
addValidator
Adds a validator to the given combo box- Type Parameters:
T
- the value type- Parameters:
attribute
- the attribute of the value to validatecomboBox
- the combo box
-
components
-