2017-08-27 1 views
0

Est-il possible de créer un champ password où vous pouvez obtenir le texte en Java? En ce moment j'ai essayé quelque chose commeJava Champ mot de passe

Password = new JPasswordField(); 
    Password.setBounds(231, 134, 131, 23); 
    frame.getContentPane().add(Password);  
    Password.getText(); 

mais cela ne fonctionnera pas parce que le mot de passe est "privé".

Ceci est mon code jusqu'à présent

package Bank; 
    import java.awt.Color; 
    import java.awt.EventQueue; 
    import java.awt.Font; 
    import java.awt.event.ActionEvent; 
    import java.awt.event.ActionListener; 
    import java.util.ArrayList; 
    import javax.swing.JButton; 
    import javax.swing.JFrame; 
    import javax.swing.JLabel; 
    import javax.swing.JOptionPane; 
    import javax.swing.JTextField; 
    import javax.swing.JPasswordField; 
    public class BankLogin { 
String usernameuser; 
String passworduser; 
ArrayList<String> Usernames = new ArrayList<String>(); 
ArrayList<String> Passwords = new ArrayList<String>(); 
private JFrame frame; 
private JTextField Username; 
private JPasswordField passwordField; 
private JPasswordField Password; 

/** 
* Launch the application. 
*/ 
public static void main(String[] args) { 
    EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      try { 
       BankLogin window = new BankLogin(); 
       window.frame.setVisible(true); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 
} 

/** 
* Create the application. 
*/ 
public BankLogin() { 
    initialize(); 
} 

/** 
* Initialize the contents of the frame. 
*/ 
private void initialize() { 
    frame = new JFrame(); 
    frame.setBounds(100, 100, 508, 381); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.getContentPane().setLayout(null); 


    JPasswordField Password = new JPasswordField(); 
    Password.setBounds(231, 134, 131, 23); 
    frame.getContentPane().add(Password); 

    Username = new JTextField(); 
    Username.setBounds(231, 73, 131, 23); 
    frame.getContentPane().add(Username); 
    Username.setColumns(10); 

    JLabel lblUsername = new JLabel("Username"); 
    lblUsername.setBounds(109, 66, 112, 36); 
    lblUsername.setFont(new Font("Tahoma", Font.PLAIN, 20)); 
    frame.getContentPane().add(lblUsername); 

    JLabel lblPassword = new JLabel("Password"); 
    lblPassword.setBounds(109, 125, 112, 36); 
    lblPassword.setFont(new Font("Tahoma", Font.PLAIN, 20)); 
    frame.getContentPane().add(lblPassword); 


    JButton btnLogin = new JButton("Login"); 
    btnLogin.setBounds(109, 240, 89, 23); 
    btnLogin.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 

     } 
    }); 
    frame.getContentPane().add(btnLogin); 

    JButton btnRegister = new JButton("Register"); 
    btnRegister.setBounds(273, 240, 89, 23); 
    btnRegister.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      if((Username.getText()).length() != 0 && (Password.getPassword()).length !=0){ 
       JOptionPane.showMessageDialog(frame, "A basic JOptionPane messagessdfasdf dialog"); 
      } 
      else{ 
       Usernames.add(Username.getText()); 
       Passwords.add(Password.getPassword()); 
       JOptionPane.showMessageDialog(frame, "A basic JOptionPane message dialog"); 
      } 
     } 
    }); 
    frame.getContentPane().add(btnRegister); 


} 

} Il est essentiellement un système de connexion. En ce moment je travaille sur l'ajout du mot de passe que l'utilisateur entre dans le tableau de mots de passe.

+0

pouvez-vous ajouter toute exception – Austin

+0

Ce qui ne fonctionne pas et ne fonctionnera pas comment, parce que ce qui est privé? Pourquoi avez-vous deux JPasswordFields? Essayez-vous de décrire une erreur de compilation? – EJP

+0

pouvez-vous le compiler d'abord il semble que vous ne lui avez pas donné un nom ici 'Username = new JTextField();' – abcOfJavaAndCPP

Répondre

-1

Je dois lui donner un nom d'objet et d'utiliser se passe

JPasswordField pass = new JPasswordField(); 
pass.setBounds(231, 134, 131, 23); 
frame.getContentPane().add(pass);  
pass.getPassword(); 
+0

Il ne fonctionne toujours pas cependant ... – LOLlipop

+0

Le mot de passe est instancié dans une autre classe – Austin

+0

@LOLlipop 'Does not work' n'est pas une description du problème. – EJP