Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package layout;
- import java.awt.Color;
- import java.awt.HeadlessException;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.GroupLayout;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPasswordField;
- import javax.swing.JTextField;
- import core.ClientHandler;
- import core.Mensaje;
- public class Login extends JFrame implements ActionListener {
- private static final long serialVersionUID = 1L;
- JButton btnEnviar;
- JLabel lblUser, lblPass, lblIP, lblErrorLogin;
- JTextField user, address;
- JPasswordField password;
- private ClientHandler cliente;
- public Login(String title, ClientHandler unCliente)
- throws HeadlessException {
- super(title);
- cliente = unCliente;
- init();
- }
- public void init() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setResizable(false);
- GroupLayout layout = new GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- // Etiquetas
- lblUser = new JLabel("Usuario", JLabel.CENTER);
- lblPass = new JLabel("Password", JLabel.CENTER);
- lblIP = new JLabel("IP Address", JLabel.CENTER);
- lblErrorLogin = new JLabel(" ", JLabel.CENTER);
- // Campos
- user = new JTextField(20);
- password = new JPasswordField(20);
- address = new JTextField(10);
- // Boton
- btnEnviar = new JButton("Enviar");
- // Listeners
- btnEnviar.addActionListener(this);
- user.addActionListener(this);
- password.addActionListener(this);
- // Espacios
- final int DEFAULT_GAP = 5;
- layout.setAutoCreateGaps(true);
- layout.setHorizontalGroup(layout
- .createParallelGroup(GroupLayout.Alignment.CENTER)
- .addGap(DEFAULT_GAP)
- .addGroup(
- layout.createSequentialGroup()
- .addComponent(lblUser, 75, 75, 75)
- .addComponent(user, 125, 125, 125)
- .addGap(DEFAULT_GAP))
- .addGroup(
- layout.createSequentialGroup()
- .addComponent(lblPass, 75, 75, 75)
- .addComponent(password, 125, 125, 125)
- .addGap(DEFAULT_GAP))
- .addGroup(
- layout.createSequentialGroup()
- .addComponent(lblIP, 75, 75, 75)
- .addComponent(address, 125, 125, 125)
- .addGap(DEFAULT_GAP))
- .addGroup(
- layout.createParallelGroup(GroupLayout.Alignment.CENTER)
- .addComponent(btnEnviar)
- .addComponent(lblErrorLogin)
- .addGap(DEFAULT_GAP))
- );
- layout.setVerticalGroup(layout
- .createSequentialGroup()
- .addGap(DEFAULT_GAP)
- .addGroup(
- layout.createParallelGroup().addComponent(lblUser)
- .addComponent(user, 20, 20, 20))
- .addGroup(
- layout.createParallelGroup().addComponent(lblPass)
- .addComponent(password, 20, 20, 20))
- .addGroup(
- layout.createParallelGroup().addComponent(lblIP)
- .addComponent(address, 20, 20, 20))
- .addGroup(
- layout.createSequentialGroup().addComponent(btnEnviar)
- .addComponent(lblErrorLogin)
- .addGap(DEFAULT_GAP)));
- pack();
- setVisible(true);
- setLocationRelativeTo(null);
- /*
- * Luego de empacar todo, intenta colocar la ventana en el centro, sin
- * importar la resolucion
- */
- }
- @Override
- public void actionPerformed(ActionEvent a) {
- // Boton Enviar
- if (a.getSource() == btnEnviar) {
- lblUser.setForeground(Color.BLACK);
- lblPass.setForeground(Color.BLACK);
- if (verificarCampos() == false) {
- // Do Nothing.
- } else {
- cliente.user().userName(user.getText());
- Mensaje mensajeLogin = new Mensaje();
- mensajeLogin.handshake(cliente.user(), true, 0);
- cliente.server(address.getText());
- cliente.enviarMensaje(mensajeLogin);
- if (cliente.redoLogin() == true) {
- lblErrorLogin
- .setText("El usuario " + user.getText() + " se encuentra en uso");
- user.setText(null);
- password.setText(null);
- } else {
- cliente.crearCanal();
- cliente.crearInvitar();
- // this.dispose();
- }
- }
- }
- }
- public boolean verificarCampos() {
- int p = password.getPassword().length;
- int u = user.getText().length();
- boolean correcto = false;
- if (u == 0) {
- lblUser.setForeground(Color.RED);
- }
- if (p == 0) {
- lblPass.setForeground(Color.RED);
- }
- if (u != 0 && p != 0) {
- correcto = true;
- }
- return correcto;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement