SWING - JPasswordField Class


Advertisements


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

Field

Class constructors

S.N.Constructor & Description
1JPasswordField()
Constructs a new JPasswordField, with a default document, null starting text string, and 0 column width.
2JPasswordField(Document doc, String txt, int columns)
Constructs a new JPasswordField that uses the given text storage model and the given number of columns.
3JPasswordField(int columns)
Constructs a new empty JPasswordField with the specified number of columns.
4JPasswordField(String text)
Constructs a new JPasswordField initialized with the specified text.
5JPasswordField(String text, int columns)
Constructs a new JPasswordField initialized with the specified text and columns.

Class methods

S.N.Method & Description
1void copy()
Invokes provideErrorFeedback on the current look and feel, which typically initiates an error beep.
2void cut()
Invokes provideErrorFeedback on the current look and feel, which typically initiates an error beep.
3boolean echoCharIsSet()
Returns true if this JPasswordField has a character set for echoing.
4AccessibleContext getAccessibleContext()
Returns the AccessibleContext associated with this JPasswordField.
5char getEchoChar()
Returns the character to be used for echoing.
6char[] getPassword()
Returns the text contained in this TextComponent.
7String getText()
Deprecated. As of Java 2 platform v1.2, replaced by getPassword.
8String getText(int offs, int len)
Deprecated. As of Java 2 platform v1.2, replaced by getPassword.
9String getUIClassID()
Returns the name of the L&F class that renders this component.
10protected String paramString()
Returns a string representation of this JPasswordField.
11void setEchoChar(char c)
Sets the echo character for this JPasswordField.
12void 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 command prompt. Go to D:/ > SWING and type the following command.

D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java

If no error comes that means compilation is successful. Run the program using following command.

D:\SWING>java com.tutorialspoint.gui.SwingControlDemo

Verify the following output

Swing JPasswordField
swing_controls.htm

Advertisements