Package adams.gui.core
Class BasePasswordFieldWithButton
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.core.BasePasswordFieldWithButton
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
public class BasePasswordFieldWithButton extends BasePanel
ABasePasswordField
with a button to show/hide the password.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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
Fields Modifier and Type Field Description protected BaseButton
m_Button
the button for showing/hiding the password.protected BasePasswordField
m_Field
the password field.-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
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
Constructors Constructor Description BasePasswordFieldWithButton()
Constructs a newTextField
.BasePasswordFieldWithButton(int columns)
Constructs a new emptyTextField
with the specified number of columns.BasePasswordFieldWithButton(String text)
Constructs a newTextField
initialized with the specified text.BasePasswordFieldWithButton(String text, int columns)
Constructs a newTextField
initialized with the specified text and columns.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
echoCharIsSet()
Returns true if thisJPasswordField
has a character set for echoing.BasePassword
getBasePassword()
Return the password.BaseButton
getButton()
Returns the underlying button.int
getColumns()
Returns the number of columns in thisTextField
.char
getEchoChar()
Returns the character to be used for echoing.BasePasswordField
getField()
Returns the underlying password field.char[]
getPassword()
Returns the text contained in thisTextComponent
.boolean
getShowPopupMenu()
Returns whether the popup menu is shown.protected void
initGUI()
Initializes the members.boolean
isEnabled()
Returns whether the field/button are enabled.boolean
isPasswordVisible()
Returns whether the password is shown or hidden.void
setBasePassword(BasePassword value)
Sets the password.void
setColumns(int columns)
Sets the number of columns in thisTextField
, and then invalidate the layout.void
setEchoChar(char c)
Sets the echo character for thisJPasswordField
.void
setEnabled(boolean b)
Enables (or disables) the field/button.void
setPasswordVisible(boolean value)
Shows or hides the password.void
setShowPopupMenu(boolean value)
Sets whether to show the popup menu.void
setText(String t)
Sets the password.-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, initialize, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, 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, 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 Detail
-
m_Field
protected BasePasswordField m_Field
the password field.
-
m_Button
protected BaseButton m_Button
the button for showing/hiding the password.
-
-
Constructor Detail
-
BasePasswordFieldWithButton
public BasePasswordFieldWithButton()
Constructs a newTextField
. A default model is created, the initial string isnull
, and the number of columns is set to 0.
-
BasePasswordFieldWithButton
public BasePasswordFieldWithButton(String text)
Constructs a newTextField
initialized with the specified text. A default model is created and the number of columns is 0.- Parameters:
text
- the text to be displayed, ornull
-
BasePasswordFieldWithButton
public BasePasswordFieldWithButton(int columns)
Constructs a new emptyTextField
with the specified number of columns. A default model is created and the initial string is set tonull
.- Parameters:
columns
- the number of columns to use to calculate the preferred width; if columns is set to zero, the preferred width will be whatever naturally results from the component implementation
-
BasePasswordFieldWithButton
public BasePasswordFieldWithButton(String text, int columns)
Constructs a newTextField
initialized with the specified text and columns. A default model is created.- Parameters:
text
- the text to be displayed, ornull
columns
- the number of columns to use to calculate the preferred width; if columns is set to zero, the preferred width will be whatever naturally results from the component implementation
-
-
Method Detail
-
getPassword
public char[] getPassword()
Returns the text contained in thisTextComponent
. If the underlying document isnull
, will give aNullPointerException
. For stronger security, it is recommended that the returned character array be cleared after use by setting each character to zero.- Returns:
- the text
-
setText
public void setText(String t)
Sets the password.- Parameters:
t
- the password
-
getEchoChar
public char getEchoChar()
Returns the character to be used for echoing. The default is '*'. The default may be different depending on the currently running Look and Feel. For example, Metal/Ocean's default is a bullet character.- Returns:
- the echo character, 0 if unset
-
setEchoChar
public void setEchoChar(char c)
Sets the echo character for thisJPasswordField
. Note that this is largely a suggestion, since the view that gets installed can use whatever graphic techniques it desires to represent the field. Setting a value of 0 indicates that you wish to see the text as it is typed, similar to the behavior of a standardJTextField
.- Parameters:
c
- the echo character to display
-
echoCharIsSet
public boolean echoCharIsSet()
Returns true if thisJPasswordField
has a character set for echoing. A character is considered to be set if the echo character is not 0.- Returns:
- true if a character is set for echoing
-
getColumns
public int getColumns()
Returns the number of columns in thisTextField
.- Returns:
- the number of columns >= 0
-
setColumns
public void setColumns(int columns)
Sets the number of columns in thisTextField
, and then invalidate the layout.- Parameters:
columns
- the number of columns >= 0- Throws:
IllegalArgumentException
- ifcolumns
is less than 0
-
setShowPopupMenu
public void setShowPopupMenu(boolean value)
Sets whether to show the popup menu.- Parameters:
value
- true if to show
-
getShowPopupMenu
public boolean getShowPopupMenu()
Returns whether the popup menu is shown.- Returns:
- true if shown
-
setBasePassword
public void setBasePassword(BasePassword value)
Sets the password.- Parameters:
value
- the password
-
getBasePassword
public BasePassword getBasePassword()
Return the password.- Returns:
- the password
-
setPasswordVisible
public void setPasswordVisible(boolean value)
Shows or hides the password.- Parameters:
value
- true if to show
-
isPasswordVisible
public boolean isPasswordVisible()
Returns whether the password is shown or hidden.- Returns:
- true if shown
-
setEnabled
public void setEnabled(boolean b)
Enables (or disables) the field/button.- Overrides:
setEnabled
in classJComponent
- Parameters:
b
- true to enable the field/button, otherwise false
-
isEnabled
public boolean isEnabled()
Returns whether the field/button are enabled.
-
getField
public BasePasswordField getField()
Returns the underlying password field.- Returns:
- the field
-
getButton
public BaseButton getButton()
Returns the underlying button.- Returns:
- the button
-
-