PasswordField es parte del paquete javax.swing. La clase JPasswordField es un componente que permite la edición de una sola línea de texto donde la vista indica que algo fue escrito por no muestra los caracteres reales. JPasswordField hereda la clase JTextField en el paquete javax.swing.
Los constructores de la clase son:
- JPasswordField() : constructor que crea un nuevo PasswordField
- JPasswordField (columnas int) : constructor que crea un nuevo campo de contraseña vacío con un número específico de columnas.
- JPasswordField(String Password) : constructor que crea un nuevo campo de Contraseña vacío inicializado con la string dada.
- JPasswordField(String Password, int columnas) : constructor que crea un nuevo PasswordField vacío con la string dada y un número específico de columnas.
- JPasswordField(Document doc, String Password, int column) : constructor que crea un campo de contraseña que usa el modelo de almacenamiento de texto dado y el número de columnas dado.
Método comúnmente utilizado de JPasswordField:
- char getEchoChar() : devuelve el carácter utilizado para hacer eco en JPasswordField.
- setEchoChar(char c) : establece el carácter de eco para JPasswordField.
- String getPassword() : devuelve el texto contenido en JPasswordField.
- String getText() : devuelve el texto contenido en JPasswordField.
1. Programa para ingresar nombre y contraseña usando JTextField y JPasswordField
Java
// Java Program to enter name and password // using JTextField and JPasswordField import java.awt.event.*; import java.awt.*; import javax.swing.*; class text extends JFrame implements ActionListener { // JTextField static JTextField t; // JPasswordField static JPasswordField pass; // JFrame static JFrame f; // JButton static JButton b; // label to display text static JLabel l; // default constructor text() { } // main class public static void main(String[] args) { // create a new frame to store text field and button f = new JFrame("textfield"); // create a label to display text l = new JLabel("nothing entered"); // create a new button b = new JButton("submit"); // create a object of the text class text te = new text(); // addActionListener to button b.addActionListener(te); // create a object of JTextField with 16 columns and initial text t = new JTextField("enter name", 16); // create a object of passwordField with 16 columns pass = new JPasswordField(16); // create an object of font type Font fo = new Font("Serif", Font.ITALIC, 20); // set the font of the textfield t.setFont(fo); // create a panel to add buttons and textfield JPanel p = new JPanel(); // add buttons and textfield to panel p.add(t); p.add(pass); p.add(b); p.add(l); // add panel to frame f.add(p); // set the size of frame f.setSize(300, 300); f.show(); } // if the button is pressed public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if (s.equals("submit")) { // set the text of the label to the text of the field l.setText("name = " + t.getText() + "\t Password = " + pass.getText()); // set the text of field to blank t.setText(" "); // set the text of password field to blank pass.setText(""); } } }
producción :
2. Programa para cambiar el carácter de eco de JPasswordField y establecer el texto inicial para el campo de contraseña
Java
// Java Program to change the echo character of // JPasswordField and set initial text for password field import java.awt.event.*; import java.awt.*; import javax.swing.*; class text extends JFrame implements ActionListener, FocusListener { // JTextField static JTextField t; // JPasswordField static JPasswordField pass; // JFrame static JFrame f; // JButton static JButton b; // label to display text static JLabel l; // default constructor text() { } // main class public static void main(String[] args) { // create a new frame to store text field and button f = new JFrame("textfield"); // create a label to display text l = new JLabel("nothing entered"); // create a new button b = new JButton("submit"); // create a object of the text class text te = new text(); // addActionListener to button b.addActionListener(te); // create a object of JTextField with 16 columns and initial text t = new JTextField("enter name", 16); // create a object of passwordField with 16 columns pass = new JPasswordField(16); // add FocusListener to passwordField pass.addFocusListener(te); // set the echo character of the password field pass.setEchoChar((char)0); // set initial text for password field pass.setText("enter password"); // set the echo character of the password field // create an object of font type Font fo = new Font("Serif", Font.ITALIC, 20); // set the font of the textfield t.setFont(fo); // create a panel to add buttons and textfield JPanel p = new JPanel(); // add buttons and textfield to panel p.add(t); p.add(pass); p.add(b); p.add(l); // add panel to frame f.add(p); // set the size of frame f.setSize(300, 300); f.show(); } // flag to set the text to blank for the first time when the component gets focus boolean flag = true; // events of focus listener // when focus is gained public void focusGained(FocusEvent e) { if (flag) { // set a definite echo char pass.setEchoChar('*'); // only set the text to blank for 1st time // set the text to blank pass.setText(""); flag = false; } } // when the focus is lost public void focusLost(FocusEvent e) { } // if the button is pressed public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if (s.equals("submit")) { // set the text of the label to the text of the field l.setText("name = " + t.getText() + "\t, Password = " + pass.getText()); // set the text of field to blank t.setText(" "); // set the text of password field to blank pass.setText(""); } } }
Nota: es posible que los programas anteriores no se ejecuten en un compilador en línea y utilicen un IDE sin conexión.
el programador puede cambiar el texto predeterminado y el número de columnas de la contraseña según sus necesidades.
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA