در این قسمت تیم کدگیت را با آموزش JPasswordField در جاوا همراهی کنید. پیش نیاز های این آموزش شامل موارد زیر میباشد:
- JButton
- JLable
- JTextField
- Final در جاوا
- شی گرایی در جاوا
- Constructor در جاوا
- کلاسهای بی نام (کلاسهای تودرتو)
Java Swing
Swing قسمتی از کلاسهای پایهای جاوا بوده و برای طراحی و ساخت نرمافزارهای Window Base ساخته شده است. قبل از Swing کتابخانهای به نام AWT بوده است. قابلیتهایی مانند Light Weight (کم وزنی) و Customizable بودن، توانسته Swing را برتر از AWT قرار دهد. در این آموزش از کلاسهای Swing برای ساخت یک JPasswordField استفاده میکنیم.
JFrame
JFrame در جاوا یک پنجره است که میتوان در آن Componentهایی مانند Jbutton، JLable، JTextField و …. قرار داد. همچنین میتوان هر کدام از Componentها را در Frame به صورت جدا صدا زده و به آنها دسترسی پیدا کرد. کمپوننتهای Swing باید حتما به JFrame اضافه شوند.
JPasswordField در جاوا
JPasswordField در جاوا برای ورود اطلاعات محرمانه توسط کاربر استفاده میشود. اطلاعاتی همچون پسورد، شماره شناسنامه و …. را میتوان از طریق JPasswordField وارد نمود. در این قسمت دو مثال از JPasswordField خواهیم زد. مثال اول یک ورودی پسورد ساده را در frame قرار میدهیم و در مثال دوم صفحه Log In سادهای را مینویسیم که کاربر Username و password خود را وارد کند و پس از کلیک بر روی LogIn،متن ورودی کاربر را در Lable چاپ میکنیم.
مثال اول JPasswordField در جاوا
کد مثال اول JPasswordField در جاوا به صورت زیر است:
public static void main(String[] args) {
JFrame f = new JFrame("Password Field Example");
JPasswordField value = new JPasswordField();
JLabel l1 = new JLabel("Password:");
l1.setBounds(20, 100, 80, 30);
value.setBounds(100, 100, 100, 30);
f.add(value);
f.add(l1);
f.setSize(350, 300);
f.setLayout(null);
f.setVisible(true);
}
همانطور که از کد بالا پیداست ابتدا یک Frame ساخته سپس JLable و JPasswordField را ساخته و در صفحه frame قرار دادیم.

مثال دوم JPasswordField در جاوا
قبل از توضیح کد مثال دوم JPasswordField، کد آن را مشاهده میکنیم:
public static void main(String[] args) {
JFrame f = new JFrame("Password Field Example");
final JLabel label = new JLabel();
label.setBounds(20, 150, 200, 50);
final JPasswordField value = new JPasswordField();
value.setBounds(100, 75, 100, 30);
JLabel l1 = new JLabel("Username:");
l1.setBounds(20, 20, 80, 30);
JLabel l2 = new JLabel("Password:");
l2.setBounds(20, 75, 80, 30);
JButton b = new JButton("Login");
b.setBounds(100, 120, 80, 30);
final JTextField text = new JTextField();
text.setBounds(100, 20, 100, 30);
f.add(value);
f.add(l1);
f.add(label);
f.add(l2);
f.add(b);
f.add(text);
f.setSize(300, 300);
f.setLayout(null);
f.setVisible(true);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String data = "Username " + text.getText();
data += ", Password: " + new String(value.getPassword());
label.setText(data);
}
});
}
در تصویر زیر خروجی کد بالا مشاهده میکنید. ابتدا Frame ساخته سپس به ترتیب Lableها و Button و JPasswordField را میسازیم و مکان آنها را با متد Setbound در Frame تنظیم میکنیم. همچنین برای لحظه کلیک بر روی دکمه Login یک ActionListener نوشتیم. درون ActionListener اطلاعات ورودی کاربر را دریافت و در Lable نمایش میدهیم.
