JPasswordField হলো JTextField-এর একটি সাবক্লাস এবং JPasswordField-এ ইনপুট দেওয়া প্রতিটি ক্যারেক্টার একটি ইকো ক্যারেক্টার-এ রিপ্লেস হয়। এটি পাসওয়ার্ডের জন্য গোপনীয় ইনপুট দেয়। ডিফল্টভাবে, ইকো ক্যারেক্টার হলো এস্টেরিস্ক (*)। JPasswordField-এর গুরুত্বপূর্ণ মেথডগুলো হলো getPassword(), getText(), getAccessibleContext() ইত্যাদি। ডিফল্টভাবে, JPasswordField ইকো ক্যারেক্টারগুলো শো করে। JCheckBox-এ ক্লিক করে ইকো ক্যারেক্টারগুলো হাইড করা এবং ওরিজিনাল টেক্সট ইউজারকে দেখানো যায়।
উদাহরণ
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public final class ShowJPasswordTest extends JPanel {
private JPasswordField pf1;
private JCheckBox jcb;
private JPanel panel;
public ShowJPasswordTest() {
pf1 = makePasswordField();
jcb = new JCheckBox("Show Passwords");
jcb.addActionListener(ae -> {
JCheckBox c = (JCheckBox) ae.getSource();
pf1.setEchoChar(c.isSelected() ? '\u0000' : (Character)
UIManager.get("PasswordField.echoChar"));
});
panel = new JPanel(new BorderLayout());
panel.add(pf1);
panel.add(jcb, BorderLayout.SOUTH);
add(makeTitledPanel("Show/Hide Password", panel));
setBorder(BorderFactory.createEmptyBorder(2, 5, 2, 5));
}
private static JPasswordField makePasswordField() {
JPasswordField pf = new JPasswordField(20);
pf.setText("tutorialspoint");
pf.setAlignmentX(Component.RIGHT_ALIGNMENT);
return pf;
}
private static Component makeTitledPanel(String title, Component cmp) {
JPanel p = new JPanel(new GridBagLayout());
p.setBorder(BorderFactory.createTitledBorder(title));
GridBagConstraints c = new GridBagConstraints();
c.weightx = 1d;
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(5, 5, 5, 5);
p.add(cmp, c);
return p;
}
public static void main(String[] args) {
JFrame frame = new JFrame("Show/HidePasswordField Test");
frame.getContentPane().add(new ShowJPasswordTest());
frame.setSize(375, 250);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
enum PasswordField {
SHOW, HIDE;
}
আউটপুট
Show Echo Character

Hide Echo Character
