JPasswordField類是一個專門處理密碼功能並允許編輯單行文本的組件。
類聲明
以下是javax.swing.JPasswordField類的聲明 -
public class JPasswordField
extends JTextField
類構造函數
| 編號 | 構造函數 | 描述 |
|---|---|---|
| 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。 |
類方法
| 編號 | 方法 | 描述 |
|---|---|---|
| 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.JTextFieldjavax.swing.text.JTextComponentjavax.swing.JComponentjava.awt.Containerjava.awt.Componentjava.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);
}
}
執行上面示例代碼,得到以下結果:

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