JPasswordField

优质
小牛编辑
133浏览
2023-12-01

介绍 (Introduction)

JPasswordField类是一个专门处理密码功能并允许编辑单行文本的组件。

Class 声明 (Class Declaration)

以下是javax.swing.JPasswordField类的声明 -

public class JPasswordField
   extends JTextField

类构造函数

Sr.No.构造函数和描述
1

JPasswordField()

构造一个新的JPasswordField,其中包含一个默认文档,null起始文本字符串和0列宽。

2

JPasswordField(Document doc, String txt, int columns)

构造一个新的JPasswordField,它使用给定的文本存储模型和给定的列数。

3

JPasswordField(int columns)

构造具有指定列数的新空JPasswordField。

4

JPasswordField(String text)

构造一个使用指定文本初始化的新JPasswordField。

5

JPasswordField(String text, int columns)

构造一个使用指定文本和列初始化的新JPasswordField。

Class Methods

Sr.No.方法和描述
1

void copy()

在当前外观上调用provideErrorFeedback,这通常会发出错误蜂鸣声。

2

void cut()

在当前外观上调用provideErrorFeedback,这通常会发出错误蜂鸣声。

3

boolean echoCharIsSet()

如果此JPasswordField具有用于回显的字符集,则返回true。

4

AccessibleContext getAccessibleContext()

返回与此JPasswordField关联的AccessibleContext。

5

char getEchoChar()

返回用于回显的字符。

6

char[] getPassword()

返回此TextComponent中包含的文本。

7

String getText()

已过时。 从Java 2平台v1.2开始,由getPassword取代。

8

String getText(int offs, int len)

已过时。 从Java 2平台v1.2开始,由getPassword取代。

9

String getUIClassID()

返回呈现此组件的L&F类的名称。

10

protected String paramString()

返回此JPasswordField的字符串表示形式。

11

void setEchoChar(char c)

设置此JPasswordField的回显字符。

12

void updateUI()

重新加载可插入的UI。

方法继承 (Methods Inherited)

该类继承以下类中的方法 -

  • javax.swing.JTextField
  • javax.swing.text.JTextComponent
  • javax.swing.JComponent
  • java.awt.Container
  • java.awt.Component
  • java.lang.Object

JPasswordField示例

使用您选择的任何编辑器创建以下Java程序,例如D:/ 》 SWING 》 com 》 xnip 》 gui 》

SwingControlDemo.java

package cn.xnip.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);  
   }
}

使用命令提示符编译程序。 转到D:/ 》 SWING并键入以下命令。

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

如果没有错误发生,则表示编译成功。 使用以下命令运行该程序。

D:\SWING>java cn.xnip.gui.SwingControlDemo

验证以下输出。

Swing JPasswordField