Introdução ao JPasswordField
JPasswordField é um componente Swing e um campo de entrada que facilita ao usuário digitar sua senha. Você deve ter visto esse campo ao fazer login em qualquer site como o Facebook ou o Gmail que mostre "*" ou qualquer outro caractere ao digitar sua senha na caixa de texto fornecida. JPasswordField é a mesma coisa.
Declaração de Jpasswordfield
public class JPasswordField extends JTextField
Como você pode ver, essa classe é uma subclasse de JTextField, ela herda todas as propriedades de um campo de texto, além de suas próprias funcionalidades, como mascarar os caracteres inseridos.
Detalhes do construtor
- JPasswordField (): este é o construtor mais simples que cria um campo de senha com documento padrão, largura zero da coluna e nenhuma sequência de texto inicial (nula).
- JPasswordField (Documento de documento, String txt, colunas int): esse construtor cria um campo de senha com um documento especificado, largura de coluna especificada e senha padrão especificada.
- JPasswordField (colunas int): esse construtor cria um campo de senha com largura de coluna especificada.
- JPasswordField (texto da sequência): Este construtor cria um campo de senha com a senha padrão especificada.
- JPasswordField (texto da string, colunas int): esse construtor cria um campo de senha com largura de coluna especificada e senha padrão especificada.
Detalhes do método
- char () getPassword (): este é um método importante e mais útil da classe JPasswordField que retorna a senha, como uma matriz de caracteres, inserida neste JPasswordField.
- String getText (): este método retorna a senha, como uma string, inserida neste JPasswordField. Mas esse método foi descontinuado na plataforma Java 2 v1.2, substituído pelo método getPassword ().
- String getText (int offs, int len): Este método retorna uma parte da senha, como uma string, inserida neste JPasswordField. Mas esse método foi descontinuado na plataforma Java 2 v1.2, substituído pelo método getPassword ().
- void copy (): esse método chama o método allowErrorFeedback na aparência atual que inicia um bipe de erro.
- void cut (): esse método chama o método allowErrorFeedback na aparência atual que inicia um bipe de erro.
- booleano echoCharIsSet (): este método retorna true se um caractere estiver definido para ecoar nesse JPasswordField. Caso contrário, false.
- char getEchoChar (): este método retorna o caractere definido para este JPasswordField para ecoar.
- void setEchoChar (char c): este método define o caractere de eco para este campo de senha.
- String getUIClassID (): este método retorna o nome da classe de aparência que renderiza esse componente.
- string protegida paramString (): este método retorna uma representação de string deste campo de senha.
- void updateUI (): este método recarrega a interface do usuário conectável deste campo de senha.
- AccessibleContext getAccessibleContext (): este método retorna o AccessibleContext associado a este JPasswordField.
Exemplo de Jpasswordfield
Abaixo está o exemplo para Jpasswordfield:
Código:
package application;
import java.awt.GridLayout;
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.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class JPasswordFieldDemo (
public static void main(String() args) (
JFrame app = new JFrame("JPasswordField Demo");
app.setLayout(new GridLayout(4, 0));
app.setSize(400, 400);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JPanel panel4 = new JPanel();
JLabel label = new JLabel("Password : ");
JPasswordField passwordField = new JPasswordField(10);
JButton submit = new JButton("submit");
panel1.add(label);
panel1.add(passwordField);
panel1.add(submit);
JLabel status = new JLabel("Password is : ");
panel2.add(status);
JLabel label2 = new JLabel("Set echo character : ");
JTextField textFieldForEchoChar = new JTextField(5);
JButton setEchoCharButton = new JButton("SetEchoChar");
JLabel statusOfSetEchoChar = new JLabel("Echo character is : " + passwordField.getEchoChar());
panel3.add(label2);
panel3.add(textFieldForEchoChar);
panel3.add(setEchoCharButton);
panel4.add(statusOfSetEchoChar);
app.add(panel1);
app.add(panel2);
app.add(panel3);
app.add(panel4);
app.setVisible(true);
ActionListener actionListener = new ActionListener() (
@Override
public void actionPerformed(ActionEvent e) (
String command = e.getActionCommand();if (command.equals("submit")) (
String password = new String(passwordField.getPassword());
status.setText("Password is : " + password);
)
if (command.equals("SetEchoChar")) (
char echoChar = textFieldForEchoChar.getText().charAt(0);
passwordField.setEchoChar(echoChar);
statusOfSetEchoChar.setText("Echo character set to: " + echoChar);
)
)
);
submit.addActionListener(actionListener);
setEchoCharButton.addActionListener(actionListener);
)
)
Explicação
Esta é uma aplicação simples na qual o JPasswordField e suas funcionalidades são mostradas.
- No topo, existe um JFrame, que é a nossa aplicação.
- Neste JFrame, quatro painéis são adicionados.
- No primeiro painel, um JPasswordField é adicionado para que o usuário possa digitar a senha aqui.
- E um botão é adicionado para enviar a senha.
- No segundo painel, um JLabel é adicionado para mostrar a senha que o usuário digitou. Quando o usuário clicar no botão enviar no primeiro painel, esse status será alterado e a senha mais recente será exibida.
- O status no segundo painel é atualizado usando um ouvinte de ação que é adicionado ao botão enviar.
- Quando o usuário digita a senha, ela não é mostrada no JPasswordField. Em vez disso, os caracteres de eco são mostrados e a senha é oculta.
- Há um caractere de eco padrão. Além disso, podemos definir o caractere de eco para o campo de senha. Agora vamos fazer isso.
- No terceiro painel, uma caixa de texto e um botão são adicionados. Esta caixa de texto deve receber echo41char do usuário.
- Os usuários terão que digitar um caractere e pressionar o botão, e o eco de caractere será definido no campo de senha.
- No quarto painel, o usuário pode ver o caractere de eco atual ou o conjunto de caracteres recentemente definido do campo de senha. Isso é obtido usando um JLabel e um ouvinte de ação adicionado ao botão no terceiro painel.
Resultado:
1. Este é o aplicativo no qual o usuário pode digitar a senha, ver a senha digitada, alterar o caractere de eco do campo de senha e ver o caractere de eco atual:
2. Agora, o usuário digita a senha (“12345”) e clica no botão Enviar. Em seguida, a senha inserida pelo usuário é mostrada no status abaixo do campo de senha. Além disso, você pode ver o caractere de eco atual (padrão) do campo de senha na parte inferior:
3. Agora o usuário deseja alterar o caractere de eco do campo de senha. Para isso, o usuário digita "*" na segunda caixa de texto e pressiona o botão "SetEchoChar" e o caractere de eco é alterado automaticamente no campo de senha.
4. Da mesma forma, o usuário define o caractere de eco como "#":
Conclusão - Jpasswordfield
JPasswordField é um componente importante no Swing, que permite ao usuário digitar a senha sem descartá-la visualmente para outras pessoas. Este arquivo pode ser usado para desenvolver uma página de login e inscrição de qualquer aplicativo. Isso aumenta a segurança do aplicativo e os faz parecer e se sentir melhor. Além disso, o desenvolvedor pode definir seu caractere de eco favorito!
Artigos recomendados
Este é um guia para Jpasswordfield. Aqui discutimos que o Jpasswordfield pode ser usado para desenvolver uma página de login e inscrição de qualquer aplicativo. Você também pode consultar o seguinte artigo para saber mais -
- Componentes Swing em Java
- JComponent em Java
- JFrame em Java
- CardLayout em Java