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.

Swing JPasswordField
swing_controls.htm
Advertisements