- All Implemented Interfaces:
ActionListener
,ItemListener
,ImageObserver
,ItemSelectable
,MenuContainer
,Serializable
,EventListener
,Accessible
,ListDataListener
,GuiMappingContext.SourceUpdateListener
,GuiSwingView.ValuePane<Object>
- Direct Known Subclasses:
GuiSwingTableColumnEnum.ColumnEditEnumComboBox
,LambdaProperty.LambdaEnumComboBox
- Enclosing class:
GuiSwingViewEnumComboBox
public static class GuiSwingViewEnumComboBox.PropertyEnumComboBox
extends JComboBox<Object>
implements GuiMappingContext.SourceUpdateListener, ItemListener, GuiSwingView.ValuePane<Object>
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComboBox
JComboBox.AccessibleJComboBox, JComboBox.KeySelectionManager
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 TypeFieldDescriptionprotected GuiMappingContext
protected boolean
protected MenuBuilder.MenuLabel
protected boolean
protected List
<PopupCategorized.CategorizedMenuItem> protected PopupExtension
protected GuiSwingView.SpecifierManager
protected GuiTaskClock
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
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
ConstructorsConstructorDescriptionPropertyEnumComboBox
(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSwingEditFinishHandler
(Runnable eventHandler) the method is used for table cell-editors, in order to observe the completion of editing.getPopup()
a typical implementation if there are no dynamic items becomes like the following code:a typical implementation becomes like the following code:getValueFromString
(String str) void
init()
void
void
void
void
void
initName()
void
void
void
boolean
void
void
for each component, the method is called before refreshing in order to clear the view-clock.void
setCurrentValueSupported
(boolean currentValueSupported) void
setKeyStrokeString
(String keyStrokeString) set the key-stroke info.void
setSwingViewValue
(Object value) update GUI display, and it does NOT update the target model value.void
setSwingViewValue
(Object value, GuiTaskClock clock) update if the clock is newer than the current view-clock of the pane.void
update the GUI display and the model.void
setSwingViewValueWithUpdate
(Object value, GuiTaskClock clock) update the GUI display and the model if the clock is newer than the current view-clock of the pane.void
setToolTipText
(String text) void
update
(GuiMappingContext cause, Object newValue, GuiTaskClock contextClock) void
updateFromGui
(Object value, GuiTaskClock viewClock) Methods inherited from class javax.swing.JComboBox
actionPerformed, actionPropertyChanged, addActionListener, addItem, addItemListener, addPopupMenuListener, configureEditor, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getModel, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedIndex, getSelectedItem, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyBinding, processKeyEvent, removeActionListener, removeAllItems, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setSelectedItem, setUI, showPopup, 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, 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, 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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.autogui.swing.GuiSwingView.ValuePane
asSwingViewComponent, executeContextTask, getActionByContext, getActionByName, getChildByName, getDescendantActionByContext, getDescendantByContext, getDescendantByValue, getDescendantByValueIf, getPrefsJsonSupported, getSwingFocusKeyStroke, isSwingEditable, loadSwingPreferences, loadSwingPreferences, refreshByContext, requestSwingViewFocus, saveSwingPreferences, setPrefsJsonSupported, setSwingViewHistoryValue, setSwingViewValueForTable, shutdownSwingView, updateSwingViewSource, updateSwingViewSourceFromRoot, wrapSwingPane, wrapSwingProperty, wrapSwingScrollPane
-
Field Details
-
context
-
specifierManager
-
listenerEnabled
protected boolean listenerEnabled -
popup
-
infoLabel
-
viewClock
-
currentValueSupported
protected boolean currentValueSupported
-
-
Constructor Details
-
PropertyEnumComboBox
public PropertyEnumComboBox(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager)
-
-
Method Details
-
init
public void init() -
initName
public void initName() -
initRenderer
public void initRenderer() -
initEditable
public void initEditable() -
initContextUpdate
public void initContextUpdate() -
initValue
public void initValue() -
initListener
public void initListener() -
initPopup
public void initPopup() -
initDragDrop
public void initDragDrop() -
isSwingCurrentValueSupported
public boolean isSwingCurrentValueSupported()- Specified by:
isSwingCurrentValueSupported
in interfaceGuiSwingView.ValuePane<Object>
-
setCurrentValueSupported
public void setCurrentValueSupported(boolean currentValueSupported) -
getSwingStaticMenuItems
Description copied from interface:GuiSwingView.ValuePane
a typical implementation becomes like the following code:if (menuItems == null) { menuItems =
PopupCategorized
.getMenuItems(actions, menus); } return menuItems;the method returns original menu items for the pane. so, if a wrapper pane has a wrapped sub-pane added as a child component, it should not include items of the wrapped sub-pane.
- Specified by:
getSwingStaticMenuItems
in interfaceGuiSwingView.ValuePane<Object>
- Returns:
- a list of actions (or menu-components) statically determined, that should be always same instances
-
getSwingMenuBuilder
Description copied from interface:GuiSwingView.ValuePane
a typical implementation if there are no dynamic items becomes like the following code:if (popup == null) { popup = new
PopupExtension
(this, newPopupCategorized
(this::getSwingStaticMenuItems)); } return popup.getMenuBuilder();- Specified by:
getSwingMenuBuilder
in interfaceGuiSwingView.ValuePane<Object>
- Returns:
- a menu builder
-
update
- Specified by:
update
in interfaceGuiMappingContext.SourceUpdateListener
-
itemStateChanged
- Specified by:
itemStateChanged
in interfaceItemListener
-
updateFromGui
-
getSwingViewValue
- Specified by:
getSwingViewValue
in interfaceGuiSwingView.ValuePane<Object>
- Returns:
- basically, the source value of the context, held by the component without touching the context.
-
setSwingViewValue
Description copied from interface:GuiSwingView.ValuePane
update GUI display, and it does NOT update the target model value. processed under the event thread. also increment the view-clock.- Specified by:
setSwingViewValue
in interfaceGuiSwingView.ValuePane<Object>
- Parameters:
value
- the new value
-
setSwingViewValueWithUpdate
Description copied from interface:GuiSwingView.ValuePane
update the GUI display and the model. processed under the event thread. also increment the view-clock- Specified by:
setSwingViewValueWithUpdate
in interfaceGuiSwingView.ValuePane<Object>
- Parameters:
value
- the new value
-
setSwingViewValue
Description copied from interface:GuiSwingView.ValuePane
update if the clock is newer than the current view-clock of the pane. the view-clock becomes the given clock. Note: instead,GuiSwingView.ValuePane.setSwingViewValue(Object)
increments the current clock- Specified by:
setSwingViewValue
in interfaceGuiSwingView.ValuePane<Object>
- Parameters:
value
- the new valueclock
- the clock of the value: if the clock is newer than the current view-clock of the pane, it can update
-
setSwingViewValueWithUpdate
Description copied from interface:GuiSwingView.ValuePane
update the GUI display and the model if the clock is newer than the current view-clock of the pane. the view-clock becomes the given clock.- Specified by:
setSwingViewValueWithUpdate
in interfaceGuiSwingView.ValuePane<Object>
- Parameters:
value
- the new valueclock
- the clock of the value
-
setToolTipText
- Overrides:
setToolTipText
in classJComponent
-
addSwingEditFinishHandler
Description copied from interface:GuiSwingView.ValuePane
the method is used for table cell-editors, in order to observe the completion of editing. the default impl. is empty.- Specified by:
addSwingEditFinishHandler
in interfaceGuiSwingView.ValuePane<Object>
- Parameters:
eventHandler
- the handler called when the editing is finished
-
getSwingViewContext
- Specified by:
getSwingViewContext
in interfaceGuiSwingView.ValuePane<Object>
-
wrapSwingNamed
- Specified by:
wrapSwingNamed
in interfaceGuiSwingView.ValuePane<Object>
-
getSpecifier
- Specified by:
getSpecifier
in interfaceGuiSwingView.ValuePane<Object>
- Returns:
- the specifier for the context value, typically obtained from
GuiSwingView.SpecifierManager
-
getPopup
-
setKeyStrokeString
Description copied from interface:GuiSwingView.ValuePane
set the key-stroke info. to the pane as a guide- Specified by:
setKeyStrokeString
in interfaceGuiSwingView.ValuePane<Object>
- Parameters:
keyStrokeString
- the key stroke info to be set.
-
getValueAsString
-
getValueFromString
-
prepareForRefresh
public void prepareForRefresh()Description copied from interface:GuiSwingView.ValuePane
for each component, the method is called before refreshing in order to clear the view-clock.- Specified by:
prepareForRefresh
in interfaceGuiSwingView.ValuePane<Object>
-