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
Nested ClassesModifier and TypeClassDescriptionprotected static final class
Specifies the availible default values for component builders.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
FieldsModifier 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
ConstructorsModifierConstructorDescriptionprotected
EntityEditComponentPanel
(SwingEntityEditModel editModel) Instantiates a new EntityEditComponentPanelprotected
EntityEditComponentPanel
(SwingEntityEditModel editModel, EntityComponents entityComponents) Instantiates a new EntityEditComponentPanel -
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 componentSets the component associated with the given attribute as the component that should receive the focus after an insert is performed in this edit panel.final Value<JComponent>
Sets the component that should receive the focus after an insert has been performed.final <T> Attribute<T>
attribute
(JComponent component) final Collection<Attribute<?>>
final 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 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 EntityComboBox.Builder
createForeignKeyComboBox
(ForeignKey foreignKey) Creates a builder for foreign key combo boxes.protected final EntityComboBoxPanel.Builder
createForeignKeyComboBoxPanel
(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 LabelBuilder<Entity>
createForeignKeyLabel
(ForeignKey foreignKey) Creates a builder for a read-only foreign key label.protected final EntitySearchField.Builder
createForeignKeySearchField
(ForeignKey foreignKey) Creates a builder for foreign key search fields.protected final EntitySearchFieldPanel.Builder
createForeignKeySearchFieldPanel
(ForeignKey foreignKey) Creates a builder for a foreign key search field panel with an optional button for performing a search.protected final EntitySearchFieldPanel.Builder
createForeignKeySearchFieldPanel
(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 <B extends TextFieldBuilder<Entity,
JTextField, B>>
TextFieldBuilder<Entity,JTextField, B> createForeignKeyTextField
(ForeignKey foreignKey) Creates a builder for a read-only, non-focusable foreign key text field.protected 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> EntityComponents.EntityListBuilderFactory<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 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>
TemporalField.Builder<T>createTemporalField
(Attribute<T> attribute, String dateTimePattern) 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 <T extends Temporal>
TemporalFieldPanel.Builder<T>createTemporalFieldPanel
(Attribute<T> attribute, String dateTimePattern) 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 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>
Tprotected JComponent
protected JComponent
Sets the component associated with the given attribute as the component that should receive the initial focus in this edit panel.final Value<JComponent>
Sets the component that should receive the focus when the UI is cleared or activated.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.protected final void
protected final void
final void
requestComponentFocus
(Attribute<?> attribute) Request focus for the component associated with the given attribute.final void
Sets the initial focus, if an initial focus component or component attribute has been set that component receives the focus, if not, or if that component is not focusable, this panel receives the focus.Specifies the attributes that should be included when presenting a component selection list.final void
Displays a dialog allowing the user the select an input component which should receive the keyboard focus.protected final State
If set to true then components created subsequently will transfer focus on enter, otherwise not.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 new EntityEditComponentPanel- Parameters:
editModel
- the edit model
-
EntityEditComponentPanel
protected EntityEditComponentPanel(SwingEntityEditModel editModel, EntityComponents entityComponents) Instantiates a new EntityEditComponentPanel- Parameters:
editModel
- the edit modelentityComponents
- the entity components to use when creating components- Throws:
IllegalArgumentException
- in case the edit model and entity components entityTypes don't match
-
-
Method Details
-
editModel
- Type Parameters:
T
- the edit model type- Returns:
- the edit model this panel is based on
-
attributes
- Returns:
- an unmodifiable view of the attributes that have associated components.
-
component
- Parameters:
attribute
- the attribute- Returns:
- the Value containing the component associated with the given attribute
-
attribute
- Type Parameters:
T
- the attribute type- Parameters:
component
- the component- Returns:
- the attribute the given component is associated with
- Throws:
IllegalArgumentException
- in case no attribute is associated with the given component
-
initialFocusComponent
Sets the component that should receive the focus when the UI is cleared or activated. Takes precedence over the one set viainitialFocusAttribute()
- Returns:
- the Value controlling the initial focus component
-
initialFocusAttribute
Sets the component associated with the given attribute as the component that should receive the initial focus in this edit panel. This is overridden byinitialFocusComponent()
.- Returns:
- the Value controlling the initial focus attribute
- See Also:
-
afterInsertFocusComponent
Sets the component that should receive the focus after an insert has been performed. Takes precedence over the one set viaafterInsertFocusAttribute()
- Returns:
- the Value controlling the after insert focus component
-
afterInsertFocusAttribute
Sets the component associated with the given attribute as the component that should receive the focus after an insert is performed in this edit panel. This is overridden byafterInsertFocusComponent()
.- Returns:
- the Value controlling the after insert focus attribute
- See Also:
-
requestInitialFocus
public final void requestInitialFocus()Sets the initial focus, if an initial focus component or component attribute has been set that component receives the focus, if not, or if that component is not focusable, this panel receives the focus. Note that if this panel is not visible then calling this method has no effect. -
requestComponentFocus
Request focus for the component associated with the given attribute. If no component is associated with the attribute calling this method has no effect.- Parameters:
attribute
- the attribute of the component to select
-
selectInputComponent
public final void selectInputComponent()Displays a dialog allowing the user the select an input component which should receive the keyboard focus. If only one input component is available then that component is selected automatically. If no component is available, f.ex. when the panel is not visible, this method does nothing. -
selectableComponents
Specifies the attributes that should be included when presenting a component selection list. Remove an attribute to exclude it from component selection.- Returns:
- the
ValueSet
specifying attributes that should be included in component selection - See Also:
-
onException
Handles the given exception, simply displays the error message to the user by default.- Parameters:
exception
- the exception to handle- See Also:
-
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:
-
transferFocusOnEnter
If set to true then components created subsequently will transfer focus on enter, otherwise not. Note that changing this has no effect on components that have already been created.- Returns:
- the State controlling whether components transfer focus on enter
- 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
-
createTemporalFieldPanel
protected final <T extends Temporal> TemporalFieldPanel.Builder<T> createTemporalFieldPanel(Attribute<T> attribute, String dateTimePattern) Creates a builder for temporal field panels.- Type Parameters:
T
- the temporal type- Parameters:
attribute
- the attribute for which to build a temporal field paneldateTimePattern
- the date time pattern- 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
-
createTemporalField
protected final <T extends Temporal> TemporalField.Builder<T> createTemporalField(Attribute<T> attribute, String dateTimePattern) Creates a builder for temporal fields.- Type Parameters:
T
- the temporal type- Parameters:
attribute
- the attribute for which to build a temporal fielddateTimePattern
- the date time pattern- 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
-
createForeignKeyComboBox
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
-
createForeignKeyComboBoxPanel
protected final EntityComboBoxPanel.Builder createForeignKeyComboBoxPanel(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
-
createForeignKeySearchField
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
-
createForeignKeySearchFieldPanel
protected final EntitySearchFieldPanel.Builder createForeignKeySearchFieldPanel(ForeignKey foreignKey) Creates a builder for a foreign key search field panel with an optional button for performing a search.- Parameters:
foreignKey
- the foreign key- Returns:
- a foreign key combo box panel builder
-
createForeignKeySearchFieldPanel
protected final EntitySearchFieldPanel.Builder createForeignKeySearchFieldPanel(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
-
createForeignKeyTextField
protected final <B extends TextFieldBuilder<Entity,JTextField, TextFieldBuilder<Entity,B>> JTextField, createForeignKeyTextFieldB> (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
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
-
createForeignKeyLabel
Creates a builder for a read-only foreign key label.- Parameters:
foreignKey
- the foreign key for which to build a label- Returns:
- a foreign key label builder
-
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
-
getInitialFocusComponent
- Returns:
- the component that should get the initial focus when the UI is initialized
-
getAfterInsertFocusComponent
- Returns:
- the component that should receive the focus when the UI is initialized after insert
-
requestAfterInsertFocus
protected final void requestAfterInsertFocus() -
requestAfterUpdateFocus
protected final void requestAfterUpdateFocus() -
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
-