Autor Tema: Java ventana para ingresar password por teclado o botones swing  (Leído 2977 veces)

aprendiendo

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Hola !!

Alguien que me pueda ayudar con la siguiente duda

He creado una ventana en la que debo ingresar  un password, mediante teclado  o bien presionando los botones que he dispuesto para eso, ademas  debo agregar el nombre de usuario... lo logre pero con un problema! si apretó el botón  respectivo al nº1 por ejemplo queda registrado en el jTextField pero al querer apretar otro botón sobre escribe el valor en la posición que ya se había ocupado... por ende a menos que la clave solo tenga un dígito no me resulta como necesito.
les dejo el código a ver si me pueden ayudar a resolverlo :D

Código: [Seleccionar]
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Ventana_inicio extends JFrame implements ActionListener{

private JButton  btnn0;
private JButton  btnn1;
private JButton  btnn2;
private JButton  btnn3;
private JButton  btnn4;
private JButton  btnn5;
private JButton  btnn6;
private JButton  btnn7;
private JButton  btnn8;
private JButton  btnn9;

private JButton btnLimbiar;
private JButton btnIniciar;
private JButton btnCancelar;

private JLabel jlUsuario;
private JLabel jlContraseña;

private JTextField jtUsuario;
private JPasswordField jpfContraseña;



public Ventana_inicio(){
setSize(1000,700);
setTitle("Sistema de ventas");
initcomponents();

}
private void initcomponents() {
getContentPane().setLayout(null);

btnn1 = new JButton("1");
getContentPane().add(btnn1);
btnn1.setBounds(300, 300, 70, 70);
btnn1.addActionListener(this);

btnn2 = new JButton("2");
getContentPane().add(btnn2);
btnn2.setBounds(370, 300, 70, 70);
btnn2.addActionListener(this);

btnn3 = new JButton("3");
getContentPane().add(btnn3);
btnn3.setBounds(440, 300, 70, 70);
btnn3.addActionListener(this);

btnn4 = new JButton("4");
getContentPane().add(btnn4);
btnn4.setBounds(300, 370, 70, 70);
btnn4.addActionListener(this);

btnn5 = new JButton("5");
getContentPane().add(btnn5);
btnn5.setBounds(370, 370, 70, 70);
btnn5.addActionListener(this);

btnn6 = new JButton("6");
getContentPane().add(btnn6);
btnn6.setBounds(440, 370, 70, 70);
btnn6.addActionListener(this);

btnn7 = new JButton("7");
getContentPane().add(btnn7);
btnn7.setBounds(300, 440, 70, 70);
btnn7.addActionListener(this);

btnn8 = new JButton("8");
getContentPane().add(btnn8);
btnn8.setBounds(370, 440, 70, 70);
btnn8.addActionListener(this);

btnn9 = new JButton("9");
getContentPane().add(btnn9);
btnn9.setBounds(440, 440, 70, 70);
btnn9.addActionListener(this);

btnn0 = new JButton("0");
getContentPane().add(btnn0);
btnn0.setBounds(300, 510, 70, 70);
btnn0.addActionListener(this);

btnLimbiar = new JButton("Limpiar");
getContentPane().add(btnLimbiar);
btnLimbiar.setBounds(370, 510, 140, 70);
btnLimbiar.addActionListener(this);

jlUsuario = new JLabel("Usuario: ");
getContentPane().add(jlUsuario);
jlUsuario.setBounds(600, 300, 100, 20);

jtUsuario = new JTextField("");
getContentPane().add(jtUsuario);
jtUsuario.setBounds(700, 300, 140, 20);

jlContraseña = new JLabel("Contraseña: ");
getContentPane().add(jlContraseña);
jlContraseña.setBounds(600, 340, 100, 20);

jpfContraseña= new JPasswordField("");
getContentPane().add(jpfContraseña);
jpfContraseña.setBounds(700, 340, 140, 20);


btnIniciar = new JButton("Iniciar");
getContentPane().add(btnIniciar);
btnIniciar.setBounds(640, 450, 140, 140);
btnIniciar.addActionListener(this);

btnCancelar = new JButton("Cancelar");
getContentPane().add(btnCancelar);
btnCancelar.setBounds(780, 450, 140, 140);
btnCancelar.addActionListener(this);


}
public static void main(String[] args) {
new Ventana_inicio().setVisible(true);

}



public void actionPerformed(ActionEvent e){

if (e.getSource()==btnn0){
jpfContraseña.setText("0");
}
if (e.getSource()==btnn1){
jpfContraseña.setText("1");
}
if (e.getSource()==btnn2){
jpfContraseña.setText("2");
}
if (e.getSource()==btnn3){
jpfContraseña.setText("3");
}
if (e.getSource()==btnn4){
jpfContraseña.setText("4");
}
if (e.getSource()==btnn5){
jpfContraseña.setText("5");
}
if (e.getSource()==btnn6){
jpfContraseña.setText("6");
}
if (e.getSource()==btnn7){
jpfContraseña.setText("7");
}
if (e.getSource()==btnn8){
jpfContraseña.setText("8");
}
if (e.getSource()==btnn9){
jpfContraseña.setText("9");
}


if (e.getSource()==btnLimbiar){

jpfContraseña.setText("");
jtUsuario.setText("");


}


if(e.getSource()==btnIniciar){

if( jtUsuario.getText().equals("juan") && jpfContraseña.getText().equals("1") ){


Ventana_intermedia ventana = new Ventana_intermedia ();
ventana.setVisible(true);


}
else{


if( !jtUsuario.getText().equals("admin") )
JOptionPane.showMessageDialog(null,"USUARIO INCORRECTO");
else           
if( !jpfContraseña.getText().equals("1") )
JOptionPane.showMessageDialog(null,"PASSWORD INCORRECTO");
}



}

if(e.getSource()==btnCancelar){
System.exit(0);

}

}
}




« Última modificación: 30 de Noviembre 2016, 20:36 por Alex Rodríguez »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Duda fatal!
« Respuesta #1 en: 27 de Noviembre 2016, 09:20 »
Buenos días.
A ver si así te sirve:
Código: [Seleccionar]
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Ventana_inicio extends JFrame implements ActionListener{

    private JButton  btnn0;
    private JButton  btnn1;
    private JButton  btnn2;
    private JButton  btnn3;
    private JButton  btnn4;
    private JButton  btnn5;
    private JButton  btnn6;
    private JButton  btnn7;
    private JButton  btnn8;
    private JButton  btnn9;

    private JButton btnLimbiar;
    private JButton btnIniciar;
    private JButton btnCancelar;

    private JLabel jlUsuario;
    private JLabel jlContraseña;

    private JTextField jtUsuario;
    private JPasswordField jpfContraseña;


    public Ventana_inicio(){
        setSize(1000,700);
        setTitle("Sistema de ventas");
        initcomponents();
    }

    private void initcomponents() {
        getContentPane().setLayout(null);

        btnn1 = new JButton("1");
        getContentPane().add(btnn1);
        btnn1.setBounds(300, 300, 70, 70);
        btnn1.addActionListener(this);

        btnn2 = new JButton("2");
        getContentPane().add(btnn2);
        btnn2.setBounds(370, 300, 70, 70);
        btnn2.addActionListener(this);

        btnn3 = new JButton("3");
        getContentPane().add(btnn3);
        btnn3.setBounds(440, 300, 70, 70);
        btnn3.addActionListener(this);

        btnn4 = new JButton("4");
        getContentPane().add(btnn4);
        btnn4.setBounds(300, 370, 70, 70);
        btnn4.addActionListener(this);

        btnn5 = new JButton("5");
        getContentPane().add(btnn5);
        btnn5.setBounds(370, 370, 70, 70);
        btnn5.addActionListener(this);

        btnn6 = new JButton("6");
        getContentPane().add(btnn6);
        btnn6.setBounds(440, 370, 70, 70);
        btnn6.addActionListener(this);

        btnn7 = new JButton("7");
        getContentPane().add(btnn7);
        btnn7.setBounds(300, 440, 70, 70);
        btnn7.addActionListener(this);

        btnn8 = new JButton("8");
        getContentPane().add(btnn8);
        btnn8.setBounds(370, 440, 70, 70);
        btnn8.addActionListener(this);

        btnn9 = new JButton("9");
        getContentPane().add(btnn9);
        btnn9.setBounds(440, 440, 70, 70);
        btnn9.addActionListener(this);

        btnn0 = new JButton("0");
        getContentPane().add(btnn0);
        btnn0.setBounds(300, 510, 70, 70);
        btnn0.addActionListener(this);

        btnLimbiar = new JButton("Limpiar");
        getContentPane().add(btnLimbiar);
        btnLimbiar.setBounds(370, 510, 140, 70);
        btnLimbiar.addActionListener(this);

        jlUsuario = new JLabel("Usuario: ");
        getContentPane().add(jlUsuario);
        jlUsuario.setBounds(600, 300, 100, 20);

        jtUsuario = new JTextField("");
        getContentPane().add(jtUsuario);
        jtUsuario.setBounds(700, 300, 140, 20);

        jlContraseña = new JLabel("Contraseña: ");
        getContentPane().add(jlContraseña);
        jlContraseña.setBounds(600, 340, 100, 20);

        jpfContraseña= new JPasswordField("");
        getContentPane().add(jpfContraseña);
        jpfContraseña.setBounds(700, 340, 140, 20);

        btnIniciar = new JButton("Iniciar");
        getContentPane().add(btnIniciar);
        btnIniciar.setBounds(640, 450, 140, 140);
        btnIniciar.addActionListener(this);

        btnCancelar = new JButton("Cancelar");
        getContentPane().add(btnCancelar);
        btnCancelar.setBounds(780, 450, 140, 140);
        btnCancelar.addActionListener(this);

    }
    public static void main(String[] args) {
        new Ventana_inicio().setVisible(true);
    }

    String contraseña ="";
    public void actionPerformed(ActionEvent e){

        if (e.getSource()==btnn0){
            contraseña =contraseña +"0";       
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnn1){
            contraseña =contraseña +"1";
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnn2){
            contraseña =contraseña +"2";
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnn3){
            contraseña =contraseña +"3";
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnn4){
            contraseña =contraseña +"4";
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnn5){
            contraseña =contraseña +"5";
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnn6){
            contraseña =contraseña +"6";
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnn7){
            contraseña =contraseña +"7";
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnn8){
            contraseña =contraseña +"8";
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnn9){
            contraseña =contraseña +"9";
            jpfContraseña.setText(contraseña);
        }
        if (e.getSource()==btnLimbiar){
            contraseña="";
            jpfContraseña.setText("");
            jtUsuario.setText("");
        }
        if(e.getSource()==btnIniciar){

            if( jtUsuario.getText().equals("juan") && jpfContraseña.getText().equals("2702") ){
                  Ventana_intermedia ventana = new Ventana_intermedia ();
                 ventana.setVisible(true);               
            }
            else{

                if( !jtUsuario.getText().equals("juan") ){
                    JOptionPane.showMessageDialog(null,"USUARIO INCORRECTO");
                    jtUsuario.setText("");
                    contraseña="";
                }
                else if( !jpfContraseña.getText().equals("1") ){
                    JOptionPane.showMessageDialog(null,"PASSWORD INCORRECTO");
                    contraseña="";
                    jpfContraseña.setText("");
                }
            }
        }
        if(e.getSource()==btnCancelar){
            System.exit(0);
        }
    }
}

Un saludo

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".