Swing JPasswordField類

JPasswordField類是一個專門處理密碼功能並允許編輯單行文本的組件。

類聲明

以下是javax.swing.JPasswordField類的聲明 -

public class JPasswordField
   extends JTextField

類構造函數

編號 構造函數 描述
1 JPasswordField() 構造一個新的JPasswordField,它包含一個默認文檔,起始文本字串為null0列寬。
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

類方法

編號 方法 描述
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 getUIClassID() 返回呈現此組件的L&F類的名稱。
9 protected String paramString() 返回此JPasswordField的字串表示形式。
10 void setEchoChar(char c) 設置此JPasswordField的回顯字元。
11 void updateUI() 重新加載可插入的UI。

方法繼承

該類繼承以下類中的方法 -

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

JPasswordField示例

使用編輯器創建以下Java程式 -


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JPasswordFieldExample {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public JPasswordFieldExample(){
      prepareGUI();
   }
   public static void main(String[] args){
       JPasswordFieldExample  swingControlDemo = new JPasswordFieldExample();
      swingControlDemo.showPasswordFieldDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing JPasswordField示例");
      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("用戶名: ", JLabel.RIGHT);
      JLabel passwordLabel = new JLabel("密碼", JLabel.CENTER);
      final JTextField userText = new JTextField(6);
      final JPasswordField passwordText = new JPasswordField(6);
      passwordText.setEchoChar('~');

      JButton loginButton = new JButton("登錄");
      loginButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            String data = "用戶名:" + userText.getText();
            data += ", 密碼: " + 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);
   }
}

執行上面示例代碼,得到以下結果:

JPasswordField


上一篇: Swing容器類 下一篇:無