Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

อะไรคือความแตกต่างระหว่าง JTextField และ JTextArea ใน Java?


ความแตกต่างที่สำคัญระหว่าง 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);
   }
}

ผลลัพธ์

อะไรคือความแตกต่างระหว่าง JTextField และ JTextArea ใน Java?

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);
   }
}

ผลลัพธ์

อะไรคือความแตกต่างระหว่าง JTextField และ JTextArea ใน Java?