Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa JTextField và JTextArea trong Java là gì?

Sự khác biệt chính giữa JTextField JTextArea trong Java là JTextField cho phép nhập một dòng văn bản trong ứng dụng GUI trong khi JTextArea cho phép nhập nhiều dòng văn bản trong ứng dụng GUI.

JTextField

  • A JTextFeld là một trong những thành phần quan trọng nhất cho phép người dùng nhập giá trị văn bản ở định dạng dòng đơn.
  • A JTextField sẽ tạo ActionListener khi chúng tôi cố gắng nhập một số thông tin đầu vào bên trong nó.
  • JTextComponent là một lớp cha của JTextField cung cấp một tập hợp các phương thức phổ biến được sử dụng bởi JTextfield.
  • Các phương thức quan trọng trong lớp JTextField là setText (), getText (), setEnabled () , v.v.

Ví dụ

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

Đầu ra

Sự khác biệt giữa JTextField và JTextArea trong Java là gì?

JTextArea

  • A JTextArea thành phần văn bản nhiều dòng để hiển thị văn bản hoặc cho phép người dùng nhập văn bản.
  • A JTextArea sẽ tạo CaretListener giao diện.
  • JTextComponent là lớp cha của JTextArea cung cấp một tập hợp các phương pháp phổ biến được JTextArea sử dụng .
  • Các phương thức quan trọng trong JTextArea lớp là setText (), append (), setLineWrap (), setWrapStyleWord (), setCaretPosition () , v.v.

Ví dụ

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

Đầu ra

Sự khác biệt giữa JTextField và JTextArea trong Java là gì?