Java 中的 JTextField 和 JTextArea 有什么区别?

awtjavaobject oriented programmingprogrammingswing

Java 中的 JTextField JTextArea  之间的主要区别在于,JTextField  允许在 GUI 应用程序中输入 单行文本 ,而 JTextArea  允许在 GUI 应用程序中输入 多行文本

JTextField

  • JTextFeld  是最重要的组件之一,它允许用户以单行格式输入文本值。
  • 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

  • JTextArea是一个多行文本组件,用于显示文本或允许用户输入文本。
  • JTextArea将生成一个CaretListener接口。
  • JTextComponentJTextArea的超类,它提供了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);
   }
}

输出


相关文章