SWING - JPasswordField Class
Introduction
The class JPasswordField is a component which is specialized to handle password functionality and allows the editing of a single line of text.
Class Declaration
Following is the declaration for javax.swing.JPasswordField class −
public class JPasswordField extends JTextField
Class constructors
| Sr.No. | Constructor & Description |
|---|---|
| 1 |
JPasswordField() Constructs a new JPasswordField, with a default document, null starting text string, and 0 column width. |
| 2 |
JPasswordField(Document doc, String txt, int columns) Constructs a new JPasswordField that uses the given text storage model and the given number of columns. |
| 3 |
JPasswordField(int columns) Constructs a new empty JPasswordField with the specified number of columns. |
| 4 |
JPasswordField(String text) Constructs a new JPasswordField initialized with the specified text. |
| 5 |
JPasswordField(String text, int columns) Constructs a new JPasswordField initialized with the specified text and columns. |
Class Methods
| Sr.No. | Method & Description |
|---|---|
| 1 |
void copy() Invokes provideErrorFeedback on the current look and feel, which typically initiates an error beep. |
| 2 |
void cut() Invokes provideErrorFeedback on the current look and feel, which typically initiates an error beep. |
| 3 |
boolean echoCharIsSet() Returns true if this JPasswordField has a character set for echoing. |
| 4 |
AccessibleContext getAccessibleContext() Returns the AccessibleContext associated with this JPasswordField. |
| 5 |
char getEchoChar() Returns the character to be used for echoing. |
| 6 |
char[] getPassword() Returns the text contained in this TextComponent. |
| 7 |
String getText() Deprecated. As of Java 2 platform v1.2, replaced by getPassword. |
| 8 |
String getText(int offs, int len) Deprecated. As of Java 2 platform v1.2, replaced by getPassword. |
| 9 |
String getUIClassID() Returns the name of the L&F class that renders this component. |
| 10 |
protected String paramString() Returns a string representation of this JPasswordField. |
| 11 |
void setEchoChar(char c) Sets the echo character for this JPasswordField. |
| 12 |
void updateUI() Reloads the pluggable UI. |
Methods Inherited
This class inherits methods from the following classes −
- javax.swing.JTextField
- javax.swing.text.JTextComponent
- javax.swing.JComponent
- java.awt.Container
- java.awt.Component
- java.lang.Object
JPasswordField Example
Create the following Java program using any editor of your choice in say D:/ > SWING > com > tutorialspoint > gui >
SwingControlDemo.java
package com.tutorialspoint.gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwingControlDemo {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
public SwingControlDemo(){
prepareGUI();
}
public static void main(String[] args){
SwingControlDemo swingControlDemo = new SwingControlDemo();
swingControlDemo.showPasswordFieldDemo();
}
private void prepareGUI(){
mainFrame = new JFrame("Java Swing Examples");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("",JLabel.CENTER);
statusLabel.setSize(350,100);
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showPasswordFieldDemo(){
headerLabel.setText("Control in action: JPasswordField");
JLabel namelabel= new JLabel("User ID: ", JLabel.RIGHT);
JLabel passwordLabel = new JLabel("Password: ", JLabel.CENTER);
final JTextField userText = new JTextField(6);
final JPasswordField passwordText = new JPasswordField(6);
passwordText.setEchoChar('~');
JButton loginButton = new JButton("Login");
loginButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String data = "Username " + userText.getText();
data += ", Password: " + new String(passwordText.getPassword());
statusLabel.setText(data);
}
});
controlPanel.add(namelabel);
controlPanel.add(userText);
controlPanel.add(passwordLabel);
controlPanel.add(passwordText);
controlPanel.add(loginButton);
mainFrame.setVisible(true);
}
}
Compile the program using the command prompt. Go to D:/ > SWING and type the following command.
D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java
If no error occurs, it means the compilation is successful. Run the program using the following command.
D:\SWING>java com.tutorialspoint.gui.SwingControlDemo
Verify the following output.