Lớp JTextField trong Java Swing



Lớp JTextField là một thành phần cho phép sửa đổi một dòng text đơn. Dưới đây là cú pháp khai báo của lớp javax.swing.JTextField:

public class JTextField
   extends JTextComponent
      implements SwingConstants

Lớp này kế thừa các phương thức từ các lớp sau:

  • javax.swing.text.JTextComponent

  • javax.swing.JComponent

  • java.awt.Container

  • java.awt.Component

  • java.lang.Object

Lớp JTextField có trường static String notifyActio. Trường này là tên của action để gửi thông báo rằng các nội dung của trường này đã được chấp nhận.

Các constructor của lớp JTextField trong Java Swing

JTextField(): Xây dựng một TextField mới.

JTextField(Document doc, String text, int columns): Xây dựng một JTextField mới mà sử dụng mô hình lưu trữ text đã cho và số cột đã cho.

JTextField(int columns): Xây dựng một TextField mới và trống với số cột đã cho.

JTextField(String text): Xây dựng một TextField mới được khởi tạo với text đã cho.

JTextField(String text, int columns): Xây dựng một TextField mới được khởi tạo với text và các cột đã cho.

Quảng cáo

Các phương thức được sử dụng phổ biến của lớp JTextField trong Java Swing

STT Phương thức & Miêu tả
1 void setActionCommand(String command)

Thiết lập chuỗi lệnh được sử dụng cho action event

2 void setColumns(int columns)

Thiết lập số cột trong TextField này, và sau đó làm mất hiệu lựa layout đó

3 void setDocument(Document doc)

Liên kết editor với một tài liệu text

4 void setFont(Font f)

Thiết lập font hiện tại

5 void setHorizontalAlignment(int alignment)

Thiết lập căn chỉnh ngang cho text

6 void setScrollOffset(int scrollOffset)

Thiết lập scroll offset, giá trị pixel

7 protected void actionPropertyChanged(Action action, String propertyName)

Cập nhật trạng thái của textfield trong phản hồi các thay đổi của thuộc tính trong action liên kết với

8 void addActionListener(ActionListener l)

Thêm action listener đã cho để nhận các action event từ textfield này

9 protected void configurePropertiesFromAction(Action a)

Thiết lập các thuộc tính của textfield này để kết nối chúng trong Action đã cho

10 protected PropertyChangeListener createActionPropertyChangeListener(Action a)

Tạo và trả về PropertyChangeListener mà chịu trách nhiệm nghe các thay đổi từ Action đã cho và cập nhật các thuộc tính thích hợp

11 protected Document createDefaultModel()

Tạo trình triển khai mặc định của model để được sử dụng tại sự xây dựng nếu không được cung cấp tường minh

12 Action[] getActions()

Gọi danh sách lệnh cho trình soạn thảo Editor

13 void postActionEvent()

Xử lý action event xảy ra trên textfield này bằng cách gửi chúng tới bất cứ đối tượng ActionListener đã được đăng ký nào

14 void removeActionListener(ActionListener l)

Xóa action listener đã cho để nó không bao giờ nhận action event từ textfield này nữa

15 void scrollRectToVisible(Rectangle r)

Cuốn trường này sang trái hoặc phải

16 void setAction(Action a)

Thiết lập Action cho ActionEvent source

Quảng cáo

Chương trình ví dụ lớp JTextField

package com.vietjack.gui;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class SwingControlDemo {
    
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingControlDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      SwingControlDemo  swingControlDemo = new SwingControlDemo();      
      swingControlDemo.showTextFieldDemo();
   }

   private void prepareGUI(){
      mainFrame = new JFrame("Vi du Java Swing");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new JLabel("", JLabel.CENTER);        
      statusLabel = new JLabel("",JLabel.CENTER);    

      statusLabel.setSize(350,100);

      controlPanel = new JPanel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }

   private void showTextFieldDemo(){
      headerLabel.setText("Control in action: JTextField"); 

      JLabel  namelabel= new JLabel("User ID: ", JLabel.RIGHT);
      JLabel  passwordLabel = new JLabel("Password: ", JLabel.CENTER);
      final JTextField userText = new JTextField(6);
      final JPasswordField passwordText = new JPasswordField(6);      

      JButton loginButton = new JButton("Login");
      loginButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {     
            String data = "Username " + userText.getText();
            data += ", Password: " 
            + new String(passwordText.getPassword()); 
            statusLabel.setText(data);        
         }
      }); 

      controlPanel.add(namelabel);
      controlPanel.add(userText);
      controlPanel.add(passwordLabel);       
      controlPanel.add(passwordText);
      controlPanel.add(loginButton);
      mainFrame.setVisible(true);  
   }
}

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập doanh nghiệp với Java. Khóa học có giá chỉ 400K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp chị Thu, trợ lý anh Tuyền để hỗ trợ thanh toán qua mã QR ngân hàng Việt Nam, fb: https://www.facebook.com/Thule.59

Anh Tuyền, tác giả khóa học, là cựu sinh viên chương trình đào tạo kĩ sư tài năng của đại học Bách Khoa Hà Nội với hơn 5 năm kinh nghiệm đi làm thực tế doanh nghiệp và cũng là Founder website vietjack.com, web giáo dục phổ biến nhất Việt Nam hiện tại (năm 2024). Java cũng là ngôn ngữ lập trình dễ đi xin việc nhất hiện tại, với mức lương cao, hãy nâng cao kiến thức IT của bản thân mình vì một Việt Nam giàu mạnh.

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com


swing_control_trong_java_swing.jsp


Tài liệu giáo viên