Java में JTextField और JTextArea के बीच मुख्य अंतर यह है कि एक JTextField GUI एप्लिकेशन में टेक्स्ट की सिंगल लाइन एंटर करने की अनुमति देता है जबकि JTextArea GUI एप्लिकेशन में टेक्स्ट की मल्टीपल लाइन्स एंटर करने की अनुमति देता है।
JTextField
- एक JTextField सबसे महत्वपूर्ण कंपोनेंट्स में से एक है जो यूज़र को सिंगल लाइन फॉर्मेट में टेक्स्ट वैल्यू इनपुट करने की अनुमति देता है।
- जब हम इसमें कुछ इनपुट एंटर करने का प्रयास करते हैं तो JTextField एक ActionListener इंटरफेस जनरेट करता है।
- JTextComponent JTextField का सुपरक्लास है जो JTextField द्वारा उपयोग किए जाने वाले मेथड्स का एक सामान्य सेट प्रदान करता है।
- JTextField क्लास में महत्वपूर्ण मेथड्स हैं: setText(), getText(), setEnabled() आदि।
उदाहरण
import javax.swing.*;
import java.awt.*;
public class JTextFieldTest {
public static void main(String[] args) {
final JFrame frame = new JFrame("JTextField Demo");
JLabel lblFirstName = new JLabel("First Name:");
JTextField tfFirstName = new JTextField(20);
lblFirstName.setLabelFor(tfFirstName);
JLabel lblLastName = new JLabel("Last Name:");
JTextField tfLastName = new JTextField(20);
lblLastName.setLabelFor(tfLastName);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.add(lblFirstName);
panel.add(tfFirstName);
panel.add(lblLastName);
panel.add(tfLastName);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 100);
frame.getContentPane().add(panel, BorderLayout.CENTER);
frame.setVisible(true);
}
}
आउटपुट
दो टेक्स्ट फील्ड्स (First Name, Last Name) वाली एक विंडो प्रदर्शित होती है, प्रत्येक सिंगल लाइन इनपुट के लिए।
JTextArea
- एक JTextArea एक मल्टी-लाइन टेक्स्ट कंपोनेंट है जो टेक्स्ट प्रदर्शित करने या यूज़र को टेक्स्ट एंटर करने की अनुमति देने के लिए होता है।
- एक JTextArea एक CaretListener इंटरफेस जनरेट करेगा।
- JTextComponent JTextArea का सुपरक्लास है जो JTextArea द्वारा उपयोग किए जाने वाले मेथड्स का एक सामान्य सेट प्रदान करता है।
- JTextArea क्लास में महत्वपूर्ण मेथड्स हैं: setText(), append(), setLineWrap(), setWrapStyleWord(), setCaretPosition() आदि।
उदाहरण
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
public class JTextAreaTest {
public static void main(String args[]) {
JFrame frame = new JFrame("JTextArea Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextArea textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
frame.add(scrollPane, BorderLayout.CENTER);
CaretListener listener = new CaretListener() {
public void caretUpdate(CaretEvent caretEvent) {
System.out.println("Dot: "+ caretEvent.getDot());
System.out.println("Mark: "+caretEvent.getMark());
}
};
textArea.addCaretListener(listener);
frame.setSize(250, 150);
frame.setVisible(true);
}
}
आउटपुट
एक स्क्रॉल करने योग्य मल्टी-लाइन टेक्स्ट एरिया प्रदर्शित होता है। कैरेट पोजीशन बदलने पर कंसोल पर डॉट और मार्क प्रिंट होते हैं।