Package View.includes
Class TextPrompt
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
View.includes.TextPrompt
- All Implemented Interfaces:
FocusListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,DocumentListener
,SwingConstants
The `TextPrompt` class displays a prompt over a text component when its document is empty.
The prompt's visibility and appearance can be customized. It will automatically hide when text is entered.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
The `Show` enum represents the visibility options for the `TextPrompt`.Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
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 TypeFieldDescriptionprivate JTextComponent
The `component` field represents the associated `JTextComponent` where the prompt is displayed.private Document
The `document` field represents the `Document` of the associated `JTextComponent`.private int
The `focusLost` field keeps track of the number of times focus has been lost on the component.private TextPrompt.Show
The `show` field is of the `Show` enum type and controls when the prompt is displayed.private boolean
The `showPromptOnce` field determines whether the prompt should be shown only once.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
Fields 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
ConstructorDescriptionTextPrompt
(String text, JTextComponent component) Constructs a `TextPrompt` with the specified text and text component, using the default show behavior "ALWAYS."TextPrompt
(String text, JTextComponent component, TextPrompt.Show show) Constructs a `TextPrompt` with the specified text, text component, and show behavior. -
Method Summary
Modifier and TypeMethodDescriptionvoid
changeAlpha
(float alpha) Convenience method to change the alpha value of the current foreground Color to the specifice value.void
changeAlpha
(int alpha) Convenience method to change the alpha value of the current foreground Color to the specifice value.void
Invoked when there is a change in the associated text component's document.void
changeStyle
(int style) Convenience method to change the style of the current Font.private void
Check whether the prompt should be visible or not.void
Invoked when the associated text component gains focus.void
Invoked when the associated text component loses focus.getShow()
Get the Show propertyboolean
Get the showPromptOnce propertyvoid
Invoked when text is inserted into the associated text component's document.void
Invoked when text is removed from the associated text component's document.void
setShow
(TextPrompt.Show show) Set the prompt Show property to control when the promt is shown.void
setShowPromptOnce
(boolean showPromptOnce) Show the prompt once.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, 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, 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
-
component
The `component` field represents the associated `JTextComponent` where the prompt is displayed. -
document
The `document` field represents the `Document` of the associated `JTextComponent`. -
show
The `show` field is of the `Show` enum type and controls when the prompt is displayed. Possible values are `ALWAYS`, `FOCUS_GAINED`, and `FOCUS_LOST`. -
showPromptOnce
private boolean showPromptOnceThe `showPromptOnce` field determines whether the prompt should be shown only once. If set to `true`, the prompt is shown only once when the component gains/loses focus. -
focusLost
private int focusLostThe `focusLost` field keeps track of the number of times focus has been lost on the component. It is used to manage the prompt's visibility based on focus events.
-
-
Constructor Details
-
TextPrompt
Constructs a `TextPrompt` with the specified text and text component, using the default show behavior "ALWAYS."- Parameters:
text
- The text to be displayed as the prompt.component
- The text component for which the prompt is displayed.- See Also:
-
TextPrompt
Constructs a `TextPrompt` with the specified text, text component, and show behavior.- Parameters:
text
- The text to be displayed as the prompt.component
- The text component for which the prompt is displayed.show
- When to show the prompt (ALWAYS, FOCUS_GAINED, or FOCUS_LOST, as defined in the Show enum).- See Also:
-
-
Method Details
-
changeAlpha
public void changeAlpha(float alpha) Convenience method to change the alpha value of the current foreground Color to the specifice value.- Parameters:
alpha
- value in the range of 0 - 1.0.
-
changeAlpha
public void changeAlpha(int alpha) Convenience method to change the alpha value of the current foreground Color to the specifice value.- Parameters:
alpha
- value in the range of 0 - 255.
-
changeStyle
public void changeStyle(int style) Convenience method to change the style of the current Font. The style values are found in the Font class. Common values might be: Font.BOLD, Font.ITALIC and Font.BOLD + Font.ITALIC.- Parameters:
style
- value representing the the new style of the Font.
-
getShow
Get the Show property- Returns:
- the Show property.
-
setShow
Set the prompt Show property to control when the promt is shown. Valid values are: Show.AWLAYS (default) - always show the prompt Show.Focus_GAINED - show the prompt when the component gains focus (and hide the prompt when focus is lost) Show.Focus_LOST - show the prompt when the component loses focus (and hide the prompt when focus is gained)- Parameters:
show
- a valid Show enum
-
getShowPromptOnce
public boolean getShowPromptOnce()Get the showPromptOnce property- Returns:
- the showPromptOnce property.
-
setShowPromptOnce
public void setShowPromptOnce(boolean showPromptOnce) Show the prompt once. Once the component has gained/lost focus once, the prompt will not be shown again.- Parameters:
showPromptOnce
- when true the prompt will only be shown once, otherwise it will be shown repeatedly.
-
checkForPrompt
private void checkForPrompt()Check whether the prompt should be visible or not. The visibility will change on updates to the Document and on focus changes. -
focusGained
Invoked when the associated text component gains focus. This method checks whether the prompt should be displayed.- Specified by:
focusGained
in interfaceFocusListener
- Parameters:
e
- The `FocusEvent` associated with the focus gain.
-
focusLost
Invoked when the associated text component loses focus. This method increments the focusLost count and checks whether the prompt should be displayed.- Specified by:
focusLost
in interfaceFocusListener
- Parameters:
e
- The `FocusEvent` associated with the focus loss.
-
insertUpdate
Invoked when text is inserted into the associated text component's document. This method checks whether the prompt should be displayed.- Specified by:
insertUpdate
in interfaceDocumentListener
- Parameters:
e
- The `DocumentEvent` associated with text insertion.
-
removeUpdate
Invoked when text is removed from the associated text component's document. This method checks whether the prompt should be displayed.- Specified by:
removeUpdate
in interfaceDocumentListener
- Parameters:
e
- The `DocumentEvent` associated with text removal.
-
changedUpdate
Invoked when there is a change in the associated text component's document. This method does not affect prompt visibility and is left empty.- Specified by:
changedUpdate
in interfaceDocumentListener
- Parameters:
e
- The `DocumentEvent` associated with the document change.
-