Package xgenerator.ui.swing

Source Code of xgenerator.ui.swing.LogonFrame

package xgenerator.ui.swing;

import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionListener;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import xgenerator.ui.swing.adapter.LogonAdapter;

/**
* <p>
* Title: 登录窗口
* </p>
* <p>
* Description:
* </p>
* <p>
* Copyright: Copyright (c) 2012
* </p>
* <p>
* Company: liss
* </p>
* @author <a href="mailto:shushanlee@msn.com">liss</a>
* @version 1.0
* @see
* @since   1.0
*/
public class LogonFrame extends JFrame implements UIConstants {

  private JLabel userNameLabel;

  private JTextField userNameField;

  private JLabel passwordLabel;

  private JPasswordField passwordField;

  private JButton submitBtn;

  private JButton resetBtn;

  /**
   * constructor
   */
  public LogonFrame() {
    this("登录");
  }
 
  /**
   * constructor
   * @param title
   */
  public LogonFrame(String title) {
    super();
    initComponents(title);
  }

  /**
   * <p>
   * Title:初始化组件
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   */
  private void initComponents(String title) {
    this.setContentPane(buildContentPane());
    this.getLayeredPane().setLayout(null);
    this.getLayeredPane().add(new BackgroundImageLabel(IMAGE_CLASS_PATH + "loginbg.jpg"), new Integer(Integer.MIN_VALUE));
   
    this.setTitle(title);
    this.setIconImage(IconUtils.createIconImage(APP_ICON_IMAGE));

    Toolkit tk = Toolkit.getDefaultToolkit();
    Dimension screenSize = tk.getScreenSize();
    int screenHeight = screenSize.height;
    int screenWidth = screenSize.width;
    this.setSize(322, 240);
    this.setLocation((screenWidth - getWidth()) / 2, (screenHeight - getHeight() - 30) / 2);
    this.setResizable(false);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//    this.setUndecorated(true);  //去掉窗口的装饰
//    this.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
    this.setVisible(true);
  }
 
  /**
   * <p>
   * Title:buildContentPane
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildContentPane() {
    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
    panel.setOpaque(false);
    ActionListener logonActionListener = new LogonAdapter(this);
   
    final GridBagLayout gridBagLayout = new GridBagLayout();
//    panel.setLayout(gridBagLayout);
//    panel.setLayout(new GridLayout(3, 2));
   
    this.userNameLabel = new JLabel("用户名:", JLabel.CENTER);
    this.userNameField = new JTextField("admin");
    this.userNameField.setActionCommand(LogonAdapter.USERNAME_COMMAND);
   
    this.passwordLabel = new JLabel("密  码:", JLabel.CENTER);
    this.passwordField = new JPasswordField("admin");
    this.passwordField.setActionCommand(LogonAdapter.PASSWORD_COMMAND);
   
    this.submitBtn = new JButton("登录");
    this.submitBtn.setActionCommand(LogonAdapter.LOGON_COMMAND);
    this.submitBtn.addActionListener(logonActionListener);
   
    this.resetBtn = new JButton("重置");
    this.resetBtn.setActionCommand(LogonAdapter.RESET_COMMAND);
    this.resetBtn.addActionListener(logonActionListener);
   
   
    Box baseBox = Box.createHorizontalBox();
    panel.add(baseBox);
   
    Box userNameBox = Box.createVerticalBox();
   
    userNameBox.add(Box.createRigidArea(new Dimension(100, 50)));
    //Box centerBox = Box.createVerticalBox();
    userNameBox.add(userNameLabel);
    userNameBox.add(userNameField);
    userNameBox.add(Box.createRigidArea(new Dimension(100, 50)));
    baseBox.add(userNameBox);
   
//    centerBox.add(userNameLabel);
//    centerBox.add(userNameField);
//    centerBox.add(Box.createGlue());
//    centerBox.add(passwordLabel);
//    centerBox.add(passwordField);
//    centerBox.add(resetBtn);
//    centerBox.add(submitBtn);
   
    baseBox.add(Box.createHorizontalGlue());
   
    /*
     * 设置布局管理器参数
     */
    GridBagConstraints constraints = new GridBagConstraints();
//    int gridx = GridBagConstraints.RELATIVE;  //组件位置X
//    int gridy = GridBagConstraints.RELATIVE;  //组件位置Y
//    int gridwidth = 1;  //组件所占的单位宽度
//    int gridheight = 1;  //组件所占的单位高度
//    double weightx = 0.5;  //当窗口变大时,各组件X跟着变大的比例(0.0表示变化是并不跟随着变大,1.0表示代表大比率变化)
//    double weighty = 0.5;  //当窗口变大时,各组件Y跟着变大的比例(0.0表示变化是并不跟随着变大,1.0表示代表大比率变化)
//    int anchor = GridBagConstraints.CENTER;  //当组件空间大于组件本身时,将组件置于何处(9个方位)CENTER、NORTH、NORTHEAST、EAST、SOUTHEAST、SOUTH、SOUTHWEST、WEST、NORTHWEST
//    int fill = GridBagConstraints.HORIZONTAL;  //当组件所处的位置有剩下的空间时,组件填充空间的方式(NONE、VERTICAL、HORIZONTAL、BOTH)
//    Insets insets = new Insets(5, 5, 5, 5);  //设置组件之间彼此上、下、左、右的间距
//    int ipadx = 0;  //设置组件内的X间距,默认值为0
//    int ipady = 0;  //设置组件内的Y间距,默认值为0

    /*
     * userNameLabel
     */
//    gridx = 1;
//    gridy = 1;
//      gridwidth = 200;
//    gridheight = 100;
//    constraints = new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insets, ipadx, ipady);
//    gridBagLayout.setConstraints(this.userNameLabel, constraints);
//      panel.add(userNameField);
       
    /*
    constraints.gridx = 5;
    constraints.gridy = 5;
    constraints.weightx = 50;
    constraints.weighty = 50;
    constraints.gridwidth = 20;
    panel.add(userNameLabel, constraints);
    */
   
    /*
     * userNameField
     */
//    gridx = 2;
//    gridy = 2;
//    gridwidth = 300;
//    gridheight = 100;
//    anchor = GridBagConstraints.NORTH;
//    constraints = new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insets, ipadx, ipady);
//    gridBagLayout.setConstraints(this.userNameField, constraints);
//    panel.add(userNameField);
   
    /*
    constraints.gridx = 0;
    constraints.gridy = 1;
    constraints.weightx = 100;
    constraints.weighty = 100;
    panel.add(userNameField, constraints);
    */
   
    /*
     * passwordLabel
     */
//    gridx = 1;
//    gridy = 0;
//    gridwidth = 100;
//    gridheight = 100;
//    constraints = new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insets, ipadx, ipady);
//    gridBagLayout.setConstraints(this.passwordLabel, constraints);
//    panel.add(passwordLabel);
   
    /*
    constraints.gridx = 1;
    constraints.gridy = 0;
    panel.add(passwordLabel, constraints);
    */
   
    /*
     * passwordField
     */
//    gridx = 1;
//    gridy = 1;
//    gridwidth = 100;
//    gridheight = 100;
//    constraints = new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insets, ipadx, ipady);
//    gridBagLayout.setConstraints(this.passwordField, constraints);
//    panel.add(passwordField);
   
    /*
    constraints.gridx = 1;
    constraints.gridy = 1;
    panel.add(passwordField, constraints);
    */
   
    /*
     * submitBtn
     */
//    gridx = 2;
//    gridy = 0;
//    gridwidth = 100;
//    gridheight = 100;
//    constraints = new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insets, ipadx, ipady);
//    gridBagLayout.setConstraints(this.submitBtn, constraints);
//    panel.add(submitBtn);
   
    /*
    constraints.gridx = 2;
    constraints.gridy = 0;
    panel.add(submitBtn, constraints);
    */
   
    /*
     * resetBtn
     */
//    gridx = 2;
//    gridy = 1;
//    gridwidth = 100;
//    gridheight = 100;
//    constraints = new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insets, ipadx, ipady);
//    gridBagLayout.setConstraints(this.resetBtn, constraints);
//    panel.add(resetBtn);
   
    /*
    constraints.gridx = 2;
    constraints.gridy = 1;
    panel.add(resetBtn, constraints);
    */
   
    return panel;
  }

  /**
   * @return the passwordField
   */
  public JPasswordField getPasswordField() {
    return passwordField;
  }

  /**
   * @param passwordField the passwordField to set
   */
  public void setPasswordField(JPasswordField passwordField) {
    this.passwordField = passwordField;
  }

  /**
   * @return the passwordLabel
   */
  public JLabel getPasswordLabel() {
    return passwordLabel;
  }

  /**
   * @param passwordLabel the passwordLabel to set
   */
  public void setPasswordLabel(JLabel passwordLabel) {
    this.passwordLabel = passwordLabel;
  }

  /**
   * @return the resetBtn
   */
  public JButton getResetBtn() {
    return resetBtn;
  }

  /**
   * @param resetBtn the resetBtn to set
   */
  public void setResetBtn(JButton resetBtn) {
    this.resetBtn = resetBtn;
  }

  /**
   * @return the submitBtn
   */
  public JButton getSubmitBtn() {
    return submitBtn;
  }

  /**
   * @param submitBtn the submitBtn to set
   */
  public void setSubmitBtn(JButton submitBtn) {
    this.submitBtn = submitBtn;
  }

  /**
   * @return the userNameField
   */
  public JTextField getUserNameField() {
    return userNameField;
  }

  /**
   * @param userNameField the userNameField to set
   */
  public void setUserNameField(JTextField userNameField) {
    this.userNameField = userNameField;
  }

  /**
   * @return the userNameLabel
   */
  public JLabel getUserNameLabel() {
    return userNameLabel;
  }

  /**
   * @param userNameLabel the userNameLabel to set
   */
  public void setUserNameLabel(JLabel userNameLabel) {
    this.userNameLabel = userNameLabel;
  }

}
TOP

Related Classes of xgenerator.ui.swing.LogonFrame

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.