একটি JTextField সাদা টেক্সটের জন্য ব্যবহৃত হয় যখন একটি JFormattedTextField একটি ক্লাস যা JTextField এক্সটেন্ড করে এবং এটি 거기에 থাকা টেক্সটে যেকোনো ফরম্যাট সেট করতে ব্যবহৃত হয় যেমন ফোন নম্বর, ই-মেইল, তারিখ ইত্যাদি।
JTextField
- একটি JTextField সবচেয়ে গুরুত্বপূর্ণ কম্পোনেন্টের একটি যা ব্যবহারকারীকে একটি ইনপুট টেক্সট ভ্যালু টাইপ করার অনুমতি দেয় সিংগেল লাইন ফরম্যাটে।
- একটি JTextField একটি ActionListener ইন্টারফেস জেনারেট করতে পারে যখন আমরা টেক্সট ফিল্ডের ভিতরে কিছু ইনপুট দিতে চেষ্টা করি এবং এটি একটি CaretListener ইন্টারফেস জেনারেট করতে পারে প্রতিবার কেয়ারেট (অর্থাৎ কারসর) পজিশন পরিবর্তন হলে।
- একটি JTextField MouseListener এবং KeyListener ইন্টারফেসও জেনারেট করতে পারে।
উদাহরণ
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JTextFieldTest extends JFrame {
JTextField jtf;
public JTextFieldTest() {
setTitle("JTextField Test");
setLayout(new FlowLayout());
jtf = new JTextField(15);
add(jtf);
jtf.addActionListener(new ActionListener() {
public void actionPerformed (ActionEvent ae) {
System.out.println("Event generated: " + jtf.getText());
}
});
setSize(375, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String args[]) {
new JTextFieldTest();
}
}
আউটপুট

JFormattedTextField
- একটি ফরম্যাটেড টেক্সট ফিল্ড হল JFormattedTextField ক্লাসের একটি ইনস্ট্যান্স যা JTextField-এর ডায়রেক্ট সাবক্লাস।
- একটি JFormattedTextField একটি সাধারণ টেক্সট ফিল্ডের মতোই কিন্তু এটি ব্যবহারকারীর টাইপ করা ক্যারেক্টারগুলির বৈধতা নিয়ন্ত্রণ করে এবং এটি একটি ফরম্যাটার-এর সাথে যুক্ত থাকতে পারে যা নির্দিষ্ট করে ব্যবহারকারী কোন ক্যারেক্টার ইনপুট দিতে পারবে।
- একটি JFormattedTextField হল Format ক্লাস-এর একটি সাবক্লাস ফরম্যাটেড টেক্সট ফিল্ড তৈরি করতে। আমরা একটি ফরম্যাটার তৈরি করতে পারি, প্রয়োজনে কাস্টমাইজ করতে পারি। আমরা JFormattedTextField(Format format) কনস্ট্রাক্টর কল করতে পারি যা Format টাইপের আর্গুমেন্ট নেয়।
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class JFormattedTextFieldTest extends JFrame {
JFormattedTextField jftf;
MaskFormatter mf;
public JFormattedTextFieldTest() {
setTitle("JFormattedTextField Test");
setLayout(new FlowLayout());
// একটি ফোন নম্বর ফরম্যাটার - (কান্ট্রি কোড)-(এরিয়া কোড)-(নম্বর)
try {
mf = new MaskFormatter("##-###-#######");
mf.setPlaceholderCharacter('#');
jftf = new JFormattedTextField(mf);
jftf.setColumns(12);
} catch(Exception e) {
e.printStackTrace();
}
add(jftf);
setSize(375, 250);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String args[]) {
new JFormattedTextFieldTest();
}
}
আউটপুট
