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

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


A JTextField có thể được sử dụng cho văn bản thuần túy trong khi JFormattedTextField là một lớp có thể mở rộng JTextField và nó có thể được sử dụng để đặt bất kỳ định dạng nào cho văn bản chứa số điện thoại, e-mail, ngày tháng và v.v.

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 đầu vào ở định dạng dòng đơn.
  • A JTextField có thể tạo ActionListener giao diện khi chúng tôi cố gắng nhập một số đầu vào bên trong trường văn bản và nó có thể tạo Dấu nháy chuột giao diện mỗi lần dấu mũ (tức là con trỏ ) thay đổi vị trí.
  • A JTextField cũng có thể tạo MouseListener KeyListener giao diện.

Ví dụ

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JTextFieldTest extends JFrame {
   JTextField jtf;
   public JTextFieldTest() {
      setTitle("JTextField Test");
      setLayout(new FlowLayout());
      jtf = new JTextField(15);
      add(jtf);
      jtf.addActionListener(new ActionListener() {
         public void actionPerformed (ActionEvent ae) {
            System.out.println("Event generated: " + jtf.getText());
         }
      });
      setSize(375, 250);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String args[]) {
      new JTextFieldTest();
   }
}

Đầu ra

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

JFomattedTextField

  • Trường văn bản được định dạng là một bản sao của lớp JFormattedTextField là lớp con trực tiếp của JTextField .
  • A JFormattedTextField giống như một trường văn bản bình thường ngoại trừ trường kiểm soát tính hợp lệ của các ký tự kiểu người dùng và nó có thể được liên kết với trình định dạng chỉ định các ký tự mà người dùng có thể nhập.
  • A JFormattedTextField là một lớp con của Lớp định dạng để xây dựng một trường văn bản được định dạng. Chúng tôi có thể tạo một định dạng, tùy chỉnh nó nếu cần thiết. Chúng ta có thể gọi JFormattedTextField (Định dạng định dạng) hàm tạo nhận đối số kiểu Định dạng .
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class JFormattedTextFieldTest extends JFrame {
   JFormattedTextField jftf;
   MaskFormatter mf;
   public JFormattedTextFieldTest() {
      setTitle("JFormattedTextField Test");
      setLayout(new FlowLayout());
      // A phone number formatter - (country code)-(area code)-(number)
      try {
         mf = new MaskFormatter("##-###-#######");
         mf.setPlaceholderCharacter('#');
         jftf = new JFormattedTextField(mf);
         jftf.setColumns(12);
      } catch(Exception e) {
         e.printStackTrace();
      }
      add(jftf);
      setSize(375, 250);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);
   }
   public static void main(String args[]) {
      new JFormattedTextFieldTest();
   }
}

Đầu ra

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