एक 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();
}
}
आउटपुट
