Package guiLayer

Source Code of guiLayer.LoginFrame$LoginFrameInnerData

package guiLayer;


import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;

import javax.swing.JPasswordField;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import java.awt.event.ActionListener;

import logicLayer.LoginInfo;


public class LoginFrame extends JFrame{

  /**
   *
   */
  private static final long serialVersionUID = 1L;
  public final static String EXIT_CMD = "exit";
  public final static String LOGIN_CMD = "login";
  public final static String SIGNUP_CMD = "sign up";
  public LoginFrameData data = new LoginFrameData(new LoginFrameInnerData());

  /**
   * Create the frame.
   */
  public LoginFrame(ActionListener m) {
    initPanel();
   
    addPasswordField();
    addUsernameField()
    addLoginButton(m)
    addExitButton(m);
    addRememberMeCheckBox();
    addSignUpButton(m);
    addFuncPointers();
   
  }

  public static class LoginFrameData {
    private LoginFrameInnerData innerData;
    public LoginInfo li;

    private LoginFrameData(LoginFrameInnerData innerData) {
      this.innerData = innerData;
    }
  }

  private static class LoginFrameInnerData {
    private JPanel contentPane;
    private JPasswordField passwordField;
    private JLabel lblUsername;
    private JTextField usernameField;

    private LoginFrameInnerData() {
    }
  }

 
  private void addFuncPointers() {
    data.li=new LoginInfo() {  //function pointer. we don't want the textfields to be passed, only their current values.   
     
      @Override
      public String getUsername()
      {
        return getUsrFromUsrField();
      }
      @Override
      public char[] getPassword()
      {
        return getPwFromPwField();
      }
    };
  }
 
  private char[] getPwFromPwField()
  {
    char pw[]={};
    if(data.innerData.passwordField.getPassword()==null)
      return pw;
    return data.innerData.passwordField.getPassword();
  }
 
  private String getUsrFromUsrField()
  {
    if(data.innerData.usernameField.getText()==null)
      return "";
    return data.innerData.usernameField.getText();
  }

  /**
   * @param m
   */
  private void addSignUpButton(ActionListener m) {
    JButton signUpButton = new JButton("Sign Up");
    signUpButton.setActionCommand(SIGNUP_CMD);
    signUpButton.addActionListener(m);
    signUpButton.setBounds(26, 316, 289, 35);
    data.innerData.contentPane.add(signUpButton);
  }

  /**
   *
   */
  private void addRememberMeCheckBox() {
    JCheckBox chckbxRememberMe = new JCheckBox("Remember me");
    chckbxRememberMe.setBounds(97, 245, 111, 18);
    data.innerData.contentPane.add(chckbxRememberMe);
  }

  /**
   * @param m
   */
  private void addExitButton(ActionListener m) {
    JButton btnExit = new JButton("Exit");
    btnExit.setActionCommand(EXIT_CMD);
    btnExit.addActionListener(m);
    btnExit.setBounds(26, 363, 289, 30);
    data.innerData.contentPane.add(btnExit);
  }

  /**
   * @param m
   */
  private void addLoginButton(ActionListener m) {
    JButton btnLogin = new JButton("Login");
    btnLogin.setActionCommand(LOGIN_CMD);
    btnLogin.addActionListener(m);
    btnLogin.setBounds(26, 275, 289, 30);
    data.innerData.contentPane.add(btnLogin);
  }

  /**
   *
   */
  private void addUsernameField() {
    data.innerData.lblUsername = new JLabel("Username :");
    data.innerData.lblUsername.setBounds(26, 172, 67, 18);
    data.innerData.contentPane.add(data.innerData.lblUsername);
   
    data.innerData.usernameField = new JTextField();
    data.innerData.usernameField.setBounds(100, 171, 215, 25);
    data.innerData.contentPane.add(data.innerData.usernameField);
    data.innerData.usernameField.setColumns(10);
  }

  /**
   *
   */
  private void addPasswordField() {
    data.innerData.passwordField = new JPasswordField();
    data.innerData.passwordField.setBounds(100, 208, 215, 25);
    data.innerData.contentPane.add(data.innerData.passwordField);
   
    JLabel lblPassword = new JLabel("Password :");
    lblPassword.setBounds(26, 212, 87, 18);
    data.innerData.contentPane.add(lblPassword);
  }

  /**
   *
   */
  private void initPanel() {
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    setBounds(100, 100, 338, 440);
    data.innerData.contentPane = new JPanel();
    data.innerData.contentPane.setBackground(new Color(153, 204, 255));
    data.innerData.contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(data.innerData.contentPane);
    data.innerData.contentPane.setLayout(null);
  }
 
 

}

TOP

Related Classes of guiLayer.LoginFrame$LoginFrameInnerData

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.