java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
org.autogui.swing.GuiSwingViewLabel.PropertyLabel
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible,SwingConstants,GuiMappingContext.SourceUpdateListener,GuiSwingView.ValuePane<Object>
- Direct Known Subclasses:
GuiSwingTableColumnLabel.PropertyLabelColumn,GuiSwingTableColumnString.ColumnTextPane,GuiSwingViewNumberSpinner.PropertyLabelNumber,LambdaProperty.LambdaLabel
- Enclosing class:
GuiSwingViewLabel
public static class GuiSwingViewLabel.PropertyLabel
extends JLabel
implements GuiMappingContext.SourceUpdateListener, GuiSwingView.ValuePane<Object>
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabelNested 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 GuiMappingContextprotected Colorprotected Colorprotected MenuBuilder.MenuLabelprotected List<PopupCategorized.CategorizedMenuItem> protected PopupExtensionprotected booleanprotected GuiSwingView.SpecifierManagerprotected Objectprotected GuiTaskClockFields 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, WIDTHFields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST -
Constructor Summary
ConstructorsConstructorDescriptionPropertyLabel(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager) -
Method Summary
Modifier and TypeMethodDescriptiona typical implementation if there are no dynamic items becomes like the following code:a typical implementation becomes like the following code:voidinit()voidvoidvoidvoidvoidvoidinitName()voidvoidvoidbooleanbooleanvoidfor each component, the method is called before refreshing in order to clear the view-clock.voidsetKeyStrokeString(String keyStrokeString) set the key-stroke info.voidsetSelected(boolean selected) a table renderer call the method after changing it's color and before updating the value.voidsetSwingViewValue(Object value) update GUI display, and it does NOT update the target model value.voidsetSwingViewValue(Object value, GuiTaskClock clock) update if the clock is newer than the current view-clock of the pane.voidupdate the GUI display and the model.voidsetSwingViewValueWithUpdate(Object value, GuiTaskClock clock) update the GUI display and the model if the clock is newer than the current view-clock of the pane.voidvoidsetTextWithFormatting(Object value) voidvoidupdate(GuiMappingContext cause, Object newValue, GuiTaskClock contextClock) Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, 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, 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, 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, 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.autogui.swing.GuiSwingView.ValuePane
addSwingEditFinishHandler, asSwingViewComponent, executeContextTask, getActionByContext, getActionByName, getChildByName, getDescendantActionByContext, getDescendantByContext, getDescendantByValue, getDescendantByValueIf, getPrefsJsonSupported, getSwingFocusKeyStroke, isSwingEditable, loadSwingPreferences, loadSwingPreferences, refreshByContext, requestSwingViewFocus, saveSwingPreferences, setPrefsJsonSupported, setSwingViewHistoryValue, setSwingViewValueForTable, shutdownSwingView, updateSwingViewSource, updateSwingViewSourceFromRoot, wrapSwingNamed, wrapSwingPane, wrapSwingProperty, wrapSwingScrollPane
-
Field Details
-
context
-
specifierManager
-
value
-
popup
-
infoLabel
-
viewClock
-
selected
protected boolean selected -
currentBackground
-
currentForeground
-
-
Constructor Details
-
PropertyLabel
-
-
Method Details
-
init
public void init() -
initName
public void initName() -
initVisualProperty
public void initVisualProperty() -
initFocus
public void initFocus() -
initBorder
public void initBorder() -
initContextUpdate
public void initContextUpdate() -
initValue
public void initValue() -
initPopup
public void initPopup() -
initKeyBindingsForStaticMenuItems
public void initKeyBindingsForStaticMenuItems() -
initDragDrop
public void initDragDrop() -
isSwingCurrentValueSupported
public boolean isSwingCurrentValueSupported()- Specified by:
isSwingCurrentValueSupportedin interfaceGuiSwingView.ValuePane<Object>
-
setSelected
public void setSelected(boolean selected) a table renderer call the method after changing it's color and before updating the value. the foreground and the background will be saved- Parameters:
selected- the label is selected or not
-
isSelected
public boolean isSelected() -
getSwingStaticMenuItems
Description copied from interface:GuiSwingView.ValuePanea 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:
getSwingStaticMenuItemsin 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.ValuePanea typical implementation if there are no dynamic items becomes like the following code:if (popup == null) { popup = newPopupExtension(this, newPopupCategorized(this::getSwingStaticMenuItems)); } return popup.getMenuBuilder();- Specified by:
getSwingMenuBuilderin interfaceGuiSwingView.ValuePane<Object>- Returns:
- a menu builder
-
update
- Specified by:
updatein interfaceGuiMappingContext.SourceUpdateListener
-
getSwingViewValue
- Specified by:
getSwingViewValuein 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.ValuePaneupdate GUI display, and it does NOT update the target model value. processed under the event thread. also increment the view-clock.- Specified by:
setSwingViewValuein interfaceGuiSwingView.ValuePane<Object>- Parameters:
value- the new value
-
format
-
setTextWithFormatting
-
setSwingViewValueWithUpdate
Description copied from interface:GuiSwingView.ValuePaneupdate the GUI display and the model. processed under the event thread. also increment the view-clock- Specified by:
setSwingViewValueWithUpdatein interfaceGuiSwingView.ValuePane<Object>- Parameters:
value- the new value
-
setSwingViewValue
Description copied from interface:GuiSwingView.ValuePaneupdate 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:
setSwingViewValuein 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
-
setTextWithFormattingCurrentValue
public void setTextWithFormattingCurrentValue() -
setSwingViewValueWithUpdate
Description copied from interface:GuiSwingView.ValuePaneupdate 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:
setSwingViewValueWithUpdatein interfaceGuiSwingView.ValuePane<Object>- Parameters:
value- the new valueclock- the clock of the value
-
getValueAsString
-
getValueAsString
-
getValueFromString
-
setSwingViewValueWithUpdateFromString
-
getSwingViewContext
- Specified by:
getSwingViewContextin interfaceGuiSwingView.ValuePane<Object>
-
getSpecifier
- Specified by:
getSpecifierin interfaceGuiSwingView.ValuePane<Object>- Returns:
- the specifier for the context value, typically obtained from
GuiSwingView.SpecifierManager
-
setKeyStrokeString
Description copied from interface:GuiSwingView.ValuePaneset the key-stroke info. to the pane as a guide- Specified by:
setKeyStrokeStringin interfaceGuiSwingView.ValuePane<Object>- Parameters:
keyStrokeString- the key stroke info to be set.
-
prepareForRefresh
public void prepareForRefresh()Description copied from interface:GuiSwingView.ValuePanefor each component, the method is called before refreshing in order to clear the view-clock.- Specified by:
prepareForRefreshin interfaceGuiSwingView.ValuePane<Object>
-