org.jdesktop.swingx
Class JXLoginDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by org.jdesktop.swingx.JXLoginDialog
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class JXLoginDialog
extends JDialog

A standard login dialog that provides a reasonable amount of flexibility while also providing ease of use and a professional look. The dialog is intended for simple cases or when modality is required. The implementation of login service needs to be set for the dialog to verify user provided credentials.

 JXLoginDialog dialog = new JXLoginDialog(new LoginService() {
      public boolean authenticate(String name, char[] password,
                      String server) throws Exception {
              //verify user credentials and return true on success or false on failure.
              return success;
      }}, null, null); 
 dialog.setVisible(true);
 
When other constructors are used to create the dialog, proper login service can be provided by calling
 dialog.getPanel.setLoginService(service);
 
In case no login service is provided whatsoever, the default login service implementation will be used. This implementation allows access to everyone!

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JXLoginDialog()
          Creates a non-modal dialog without a title and without a specified Frame owner.
JXLoginDialog(Dialog owner)
          Creates a non-modal dialog without a title with the specified Dialog as its owner.
JXLoginDialog(Dialog owner, boolean modal)
          Creates a modal or non-modal dialog without a title and with the specified owner dialog.
JXLoginDialog(Dialog owner, String title)
          Creates a non-modal dialog with the specified title and with the specified owner dialog.
JXLoginDialog(Dialog owner, String title, boolean modal)
          Creates a modal or non-modal dialog with the specified title and the specified owner frame.
JXLoginDialog(Dialog owner, String title, boolean modal, GraphicsConfiguration gc)
          Creates a modal or non-modal dialog with the specified title, owner Dialog, and GraphicsConfiguration.
JXLoginDialog(Frame owner)
          Creates a non-modal dialog without a title with the specified Frame as its owner.
JXLoginDialog(Frame owner, boolean modal)
          Creates a modal or non-modal dialog without a title and with the specified owner Frame.
JXLoginDialog(Frame owner, String title)
          Creates a non-modal dialog with the specified title and with the specified owner frame.
JXLoginDialog(Frame owner, String title, boolean modal)
          Creates a modal or non-modal dialog with the specified title and the specified owner Frame.
JXLoginDialog(Frame owner, String title, boolean modal, GraphicsConfiguration gc)
          Creates a modal or non-modal dialog with the specified title, owner Frame, and GraphicsConfiguration.
JXLoginDialog(LoginService service, PasswordStore ps, UserNameStore us)
           
 
Method Summary
 JXLoginPane getPanel()
           
 JXLoginPane.Status getStatus()
           
protected  void init()
           
 void setPanel(JXLoginPane panel)
           
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JXLoginDialog

public JXLoginDialog()
              throws HeadlessException
Creates a non-modal dialog without a title and without a specified Frame owner. A shared, hidden frame will be set as the owner of the dialog.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Frame owner)
              throws HeadlessException
Creates a non-modal dialog without a title with the specified Frame as its owner. If owner is null, a shared, hidden frame will be set as the owner of the dialog.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the Frame from which the dialog is displayed
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Frame owner,
                     boolean modal)
              throws HeadlessException
Creates a modal or non-modal dialog without a title and with the specified owner Frame. If owner is null, a shared, hidden frame will be set as the owner of the dialog.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the Frame from which the dialog is displayed
modal - true for a modal dialog, false for one that allows others windows to be active at the same time
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Frame owner,
                     String title)
              throws HeadlessException
Creates a non-modal dialog with the specified title and with the specified owner frame. If owner is null, a shared, hidden frame will be set as the owner of the dialog.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the Frame from which the dialog is displayed
title - the String to display in the dialog's title bar
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Frame owner,
                     String title,
                     boolean modal)
              throws HeadlessException
Creates a modal or non-modal dialog with the specified title and the specified owner Frame. If owner is null, a shared, hidden frame will be set as the owner of this dialog. All constructors defer to this one.

NOTE: Any popup components (JComboBox, JPopupMenu, JMenuBar) created within a modal dialog will be forced to be lightweight.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the Frame from which the dialog is displayed
title - the String to display in the dialog's title bar
modal - true for a modal dialog, false for one that allows other windows to be active at the same time
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Frame owner,
                     String title,
                     boolean modal,
                     GraphicsConfiguration gc)
Creates a modal or non-modal dialog with the specified title, owner Frame, and GraphicsConfiguration.

NOTE: Any popup components (JComboBox, JPopupMenu, JMenuBar) created within a modal dialog will be forced to be lightweight.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the Frame from which the dialog is displayed
title - the String to display in the dialog's title bar
modal - true for a modal dialog, false for one that allows other windows to be active at the same time
gc - the GraphicsConfiguration of the target screen device. If gc is null, the same GraphicsConfiguration as the owning Frame is used.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
Since:
1.4
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Dialog owner)
              throws HeadlessException
Creates a non-modal dialog without a title with the specified Dialog as its owner.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the non-null Dialog from which the dialog is displayed
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Dialog owner,
                     boolean modal)
              throws HeadlessException
Creates a modal or non-modal dialog without a title and with the specified owner dialog.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the non-null Dialog from which the dialog is displayed
modal - true for a modal dialog, false for one that allows other windows to be active at the same time
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Dialog owner,
                     String title)
              throws HeadlessException
Creates a non-modal dialog with the specified title and with the specified owner dialog.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the non-null Dialog from which the dialog is displayed
title - the String to display in the dialog's title bar
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Dialog owner,
                     String title,
                     boolean modal)
              throws HeadlessException
Creates a modal or non-modal dialog with the specified title and the specified owner frame.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the non-null Dialog from which the dialog is displayed
title - the String to display in the dialog's title bar
modal - true for a modal dialog, false for one that allows other windows to be active at the same time
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JXLoginDialog

public JXLoginDialog(Dialog owner,
                     String title,
                     boolean modal,
                     GraphicsConfiguration gc)
              throws HeadlessException
Creates a modal or non-modal dialog with the specified title, owner Dialog, and GraphicsConfiguration.

NOTE: Any popup components (JComboBox, JPopupMenu, JMenuBar) created within a modal dialog will be forced to be lightweight.

This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.

Parameters:
owner - the Dialog from which the dialog is displayed
title - the String to display in the dialog's title bar
modal - true for a modal dialog, false for one that allows other windows to be active at the same time
gc - the GraphicsConfiguration of the target screen device. If gc is null, the same GraphicsConfiguration as the owning Dialog is used.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless()
Since:
1.4
See Also:
GraphicsEnvironment.isHeadless(), returns true.

JXLoginDialog

public JXLoginDialog(LoginService service,
                     PasswordStore ps,
                     UserNameStore us)
Parameters:
service - the LoginService to use
ps - the PasswordStore to use
us - the UserNameStore to use
Method Detail

init

protected void init()

getStatus

public JXLoginPane.Status getStatus()
Returns:
the status of the login dialog

getPanel

public JXLoginPane getPanel()

setPanel

public void setPanel(JXLoginPane panel)