Package util.ui.login

Source Code of util.ui.login.LoginDialog

/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*
* CVS information:
*  $RCSfile$
*   $Source$
*     $Date: 2005-12-26 21:46:18 +0100 (Mo, 26 Dez 2005) $
*   $Author: troggan $
* $Revision: 1764 $
*/
package util.ui.login;

import java.awt.Color;
import java.awt.Font;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import util.ui.Localizer;
import util.ui.UiUtilities;
import util.ui.WindowClosingIf;

import com.jgoodies.forms.builder.ButtonBarBuilder2;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.Sizes;

/**
* Login-Dialog for Google
*
* @author bodum
*/
public class LoginDialog extends JDialog implements WindowClosingIf {
  /** Translator */
  private static final Localizer mLocalizer = Localizer.getLocalizerFor(LoginDialog.class);
  /** Which Button was pressed ?*/
  private int mReturnValue = JOptionPane.CANCEL_OPTION;
 
  private String mUsername;
  private String mPassword;
  private boolean mStore;

  private JTextField mNameField;
  private JPasswordField mPasswordField;
  private JCheckBox mStorePassword;

  /**
   * Create Dialog
   * @param owner Parent-Dialog
   * @param username Username
   * @param password Password
   * @param storePassword store password ?
   */
  public LoginDialog(Window owner, String username, String password,
      boolean storePassword) {
    super(owner);
    setModal(true);
    mUsername = username;
    mPassword = password;
    mStore = storePassword;
    createGui();
  }

  /**
   * Create Gui
   */
  private void createGui() {
    setTitle(mLocalizer.msg("login", "Login"));

    UiUtilities.registerForClosing(this);

    JPanel content = (JPanel)getContentPane();
   
    content.setLayout(new FormLayout("5dlu, pref, 3dlu, fill:100dlu:grow(0.5), pref, 5dlu",
        "30dlu, 5dlu, pref, 3dlu, pref, 3dlu, pref, fill:pref:grow, pref, 5dlu"));

    CellConstraints cc = new CellConstraints();

    JPanel panel = new JPanel(new FormLayout("7dlu, pref, fill:pref:grow", "7dlu, center:21dlu, 2dlu, 1px"));
    panel.setOpaque(true);
    panel.setBackground(Color.WHITE);
    panel.setForeground(Color.BLACK);
   
    JLabel top = new JLabel(mLocalizer.msg("title", "Login"));
    top.setFont(top.getFont().deriveFont(Font.BOLD, 20));
   
    panel.add(top, cc.xy(2,2));
    JPanel black = new JPanel();
    black.setBackground(Color.BLACK);
    panel.add(black, cc.xyw(1,4,3));
   
    content.add(panel, cc.xyw(1,1,6));

    JLabel name = new JLabel(mLocalizer.msg("user", "Username")+":");
    content.add(name, cc.xy(2, 3));
   
    mNameField = new JTextField();
    content.add(mNameField, cc.xy(4,3));

    mNameField.setText(mUsername);
   
    JLabel password = new JLabel(mLocalizer.msg("password", "Password")+":");
    content.add(password, cc.xy(2, 5));
   
    mPasswordField = new JPasswordField();
    content.add(mPasswordField, cc.xy(4,5));

    mPasswordField.setText(mPassword);
   
    mStorePassword = new JCheckBox(mLocalizer.msg("storePassword", "Store Password"));
    content.add(mStorePassword, cc.xy(4,7));
   
    mStorePassword.setSelected(mStore);
   
    ButtonBarBuilder2 builder = new ButtonBarBuilder2();
    builder.addGlue();
   
    JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
   
    ok.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        mReturnValue = JOptionPane.OK_OPTION;
        setVisible(false);
      }
    });
   
    getRootPane().setDefaultButton(ok);
   
    JButton cancel = new JButton (Localizer.getLocalization(Localizer.I18N_CANCEL));
   
    cancel.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        close();
      }
    });
   
    builder.addButton(new JButton[] {ok, cancel});

    content.add(builder.getPanel(), cc.xyw(1,9,5));
   
    setSize(Sizes.dialogUnitXAsPixel(200, this), Sizes.dialogUnitYAsPixel(140, this));
  }

  /**
   * Dialog was closed
   */
  public void close() {
    mReturnValue = JOptionPane.CANCEL_OPTION;
    setVisible(false);
  }
 
  /**
   * Show the Dialog
   * @return Which Button was pressed ? (JOptionpane.OK_OPTION / CANCEL_OPTION)
   */
  public int askLogin() {
    UiUtilities.centerAndShow(this);
    return mReturnValue;
  }
  public String getUsername() {
    return mNameField.getText();
  }
 
  public String getPassword() {
    return new String(mPasswordField.getPassword());
  }
 
  public boolean storePasswords() {
    return mStorePassword.isSelected();
  }
 
}
TOP

Related Classes of util.ui.login.LoginDialog

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.