ความแตกต่างที่สำคัญระหว่าง JTextField และ JTextArea ใน Java คือ JTextField อนุญาตให้ป้อน ข้อความบรรทัดเดียว ในแอปพลิเคชัน GUI ในขณะที่ JTextArea อนุญาตให้ป้อน ข้อความหลายบรรทัด ในแอปพลิเคชัน GUI
JTextField
- A JTextFeld เป็นหนึ่งในองค์ประกอบที่สำคัญที่สุดที่อนุญาตให้ผู้ใช้ป้อนค่าข้อความในรูปแบบรูปแบบบรรทัดเดียว
- A 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); } }
ผลลัพธ์
JTextArea
- A JTextArea เป็น องค์ประกอบข้อความหลายบรรทัด เพื่อแสดงข้อความหรือให้ผู้ใช้ป้อนข้อความได้
- A 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); } }
ผลลัพธ์