Package org.pokenet.client.ui.frames

Source Code of org.pokenet.client.ui.frames.LoginDialog

package org.pokenet.client.ui.frames;

import java.util.List;

import mdes.slick.sui.Button;
import mdes.slick.sui.Frame;
import mdes.slick.sui.Label;
import mdes.slick.sui.TextField;
import mdes.slick.sui.event.ActionEvent;
import mdes.slick.sui.event.ActionListener;

import org.newdawn.slick.Color;
import org.pokenet.client.GameClient;
import org.pokenet.client.backend.Translator;

/**
* Handles the login box
* @author shadowkanji
*
*/
public class LoginDialog extends Frame {
  private TextField m_username, m_password;
  private Label m_userLabel, m_passLabel;
  private Button m_login, m_register;
  private Color m_white;
 
  /**
   * Default constructor
   */
  public LoginDialog() {
    getContentPane().setX(getContentPane().getX() - 1);
    getContentPane().setY(getContentPane().getY() + 1);
    List<String> translated = Translator.translate("_LOGIN");
    this.setBorderRendered(false);
    this.getTitleBar().setVisible(false);
    this.setSize(320, 160);
    this.setLocation(480, 424);
    this.setBackground(new Color(0, 0, 0, 140));
    this.setDraggable(false);
    this.setResizable(false);
   
    /*
     * Set up the components
     */
    m_white = new Color(255, 255, 255);
   
    m_username = new TextField();
    m_username.setSize(132, 24);
    m_username.setLocation(128, 8);
    m_username.setVisible(true);
    this.add(m_username);
   
    m_password = new TextField();
    m_password.setSize(132, 24);
    m_password.setLocation(128, 40);
    m_password.setVisible(true);
    m_password.setMaskCharacter('*');
    m_password.setMaskEnabled(true);
    this.add(m_password);
   
    m_userLabel = new Label(translated.get(5));
    m_userLabel.pack();
    m_userLabel.setLocation(m_username.getX() - m_userLabel.getWidth() - 24, 12);
    m_userLabel.setVisible(true);
    m_userLabel.setFont(GameClient.getFontSmall());
    m_userLabel.setForeground(m_white);
    this.add(m_userLabel);
   
    m_passLabel = new Label(translated.get(6));
    m_passLabel.pack();
    m_passLabel.setLocation(m_userLabel.getX(), 40);
    m_passLabel.setVisible(true);
    m_passLabel.setFont(GameClient.getFontSmall());
    m_passLabel.setForeground(m_white);
    this.add(m_passLabel);
   
    m_login = new Button(translated.get(7));
    m_login.setSize(64, 32);
    m_login.setLocation(m_password.getX(), m_password.getY() + m_password.getHeight() + 8);
    m_login.setVisible(true);
    m_login.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {
        if(m_username.getText() != null & !m_username.getText().equalsIgnoreCase("") &&
            m_password.getText() != null && !m_password.getText().equalsIgnoreCase("")) {
          login();
        }
      }
    });
    this.add(m_login);
   
    m_register = new Button(translated.get(8));
    m_register.setSize(64, 32);
    m_register.setLocation(m_login.getX() + m_login.getWidth() + 8, m_login.getY());
    m_register.setVisible(true);
    m_register.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {
        register();
      }
    });
    this.add(m_register);
   
    this.setVisible(false);
  }
 
  /**
   * Sends login information to packet generator to be sent to server
   */
  private void login() {
    m_login.setEnabled(false);
    GameClient.getInstance().getLoadingScreen().setVisible(true);
    GameClient.getInstance().getPacketGenerator().login(m_username.getText(), m_password.getText());
  }
 
  /**
   * Opens registration window
   */
  private void register() {
    GameClient.getInstance().getLoginScreen().showRegistration();
  }
 
  /**
   * Returns the login button
   * @return
   */
  public Button getLoginButton() {
    return m_login;
  }
 
  /**
   * Tab to pass
   * @return
   */
  public void goToPass() {
    if(m_username.hasFocus()){
      m_username.releaseFocus();
      m_password.grabFocus()
    }else{
      m_password.releaseFocus();
      m_username.grabFocus();
    }
   
  }
 
  /**
   * Enter to login
   * @return
   */
  public void goLogin() {
    if(m_username.getText() != null & !m_username.getText().equalsIgnoreCase("") &&
        m_password.getText() != null && !m_password.getText().equalsIgnoreCase(""))
      login();   
  }
 
  /**
   * Reloads strings with language selected.
   */
  public void reloadStrings(){
    List<String> translated = Translator.translate("_LOGIN");
    m_userLabel.setText(translated.get(5));
    m_passLabel.setText(translated.get(6));
    m_login.setText(translated.get(7));
    m_register.setText(translated.get(8));
  }
}
TOP

Related Classes of org.pokenet.client.ui.frames.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.