Đối tượng của lớp JTextField là một thành phần văn bản cho phép chỉnh sửa văn bản một dòng. Nó kế thừa lớp JTextComponent.
Các bài viết liên quan:
Giới thiệu về JTextField trong Java Swing
JTextField là một thành phần trong Java Swing được sử dụng để nhập và hiển thị dữ liệu văn bản ngắn. Nó cung cấp một ô nhập liệu cho người dùng nhập thông tin, chẳng hạn như tên, địa chỉ, số điện thoại, v.v. JTextField cho phép người dùng gõ văn bản vào ô nhập liệu và cũng cho phép các hoạt động cơ bản như sao chép, cắt, dán và xóa.
JTextField được tạo ra bằng cách sử dụng lớp JTextField trong Java Swing. Bạn có thể tạo JTextField bằng cách khởi tạo đối tượng JTextField và sau đó thêm nó vào giao diện người dùng của bạn.
JTextField cung cấp các phương thức để lấy và đặt giá trị văn bản hiện tại trong ô nhập liệu. Bạn có thể lấy giá trị văn bản bằng cách sử dụng phương thức getText()
và đặt giá trị văn bản bằng cách sử dụng phương thức setText()
.
Ngoài ra, JTextField cũng hỗ trợ các tính năng tùy chỉnh giao diện như màu nền, màu văn bản, cỡ chữ, kiểu chữ, v.v. Bạn có thể sử dụng các phương thức và thuộc tính liên quan để tùy chỉnh giao diện của JTextField theo ý muốn.
JTextField cũng hỗ trợ xử lý sự kiện, cho phép bạn đáp ứng và xử lý các sự kiện liên quan đến JTextField như sự kiện nhập liệu, sự kiện mất trọng tâm, v.v. Bạn có thể thêm bộ lắng nghe sự kiện (event listener) vào JTextField để xử lý các sự kiện này.
Tổng quan, JTextField là một thành phần quan trọng trong Java Swing cho phép người dùng nhập và hiển thị dữ liệu văn bản ngắn. Nó có tính linh hoạt cao và có thể tùy chỉnh giao diện và xử lý sự kiện theo nhu cầu của ứng dụng của bạn.
Khai báo class JTextField
Hãy xem phần khai báo cho lớp javax.swing.JTextField.
public class JTextField extends JTextComponent implements SwingConstants
Các Constructor thường được sử dụng:
Constructor | Mô tả |
JTextField () | Tạo Trường văn bản mới |
JTextField(String text) | Tạo một Trường văn bản mới được khởi tạo với văn bản được chỉ định. |
JTextField(String text, int columns) | Tạo một Trường văn bản mới được khởi tạo với văn bản và cột được chỉ định. |
JTextField ( int columns) | Tạo Trường văn bản trống mới với số cột được chỉ định. |
Các phương thức thường được sử dụng:
Methods | Description |
void addActionListener(ActionListener l) | Nó được sử dụng để thêm trình nghe hành động được chỉ định để nhận các sự kiện hành động từ trường văn bản này. |
Action getAction() | Nó trả về Hành động hiện được đặt cho nguồn ActionEvent này hoặc null nếu không có Hành động nào được đặt. |
void setFont(Font f) | Nó được sử dụng để đặt phông chữ hiện tại. |
void removeActionListener(ActionListener l) | Nó được sử dụng để loại bỏ trình xử lý hành động đã chỉ định để nó không còn nhận các sự kiện hành động từ trường văn bản này nữa. |
Ví dụ về Java JTextField
Ví dụ về Java JTextField với ActionListener
Xem thêm JPasswordField trong Java Swing
Tạo và sử dụng JTextField trong Java Swing
Để tạo và sử dụng JTextField trong Java Swing, bạn cần thực hiện các bước sau:
- Tạo một đối tượng JTextField bằng cách khởi tạo lớp JTextField:
JTextField textField = new JTextField();
- Đặt kích thước và vị trí cho JTextField (tuỳ chọn):
textField.setBounds(x, y, width, height);
- Thêm JTextField vào giao diện người dùng (Container) cần chứa nó:
container.add(textField);
- Đặt và lấy giá trị văn bản của JTextField:
Để đặt giá trị văn bản của JTextField, sử dụng phương thức setText()
:
textField.setText("Giá trị văn bản");
Để lấy giá trị văn bản của JTextField, sử dụng phương thức getText()
:
String text = textField.getText();
- Tùy chỉnh giao diện của JTextField (tuỳ chọn):
Bạn có thể tùy chỉnh giao diện của JTextField bằng cách sử dụng các phương thức và thuộc tính có sẵn. Ví dụ:
- Đặt màu nền của JTextField:
textField.setBackground(Color.WHITE);
- Đặt màu văn bản của JTextField:
textField.setForeground(Color.BLACK);
- Đặt kích thước chữ của JTextField:
textField.setFont(new Font("Arial", Font.PLAIN, 12));
- Đặt kiểu chữ in đậm cho JTextField:
textField.setFont(textField.getFont().deriveFont(Font.BOLD));
- Xử lý sự kiện với JTextField (tuỳ chọn):
Để xử lý sự kiện liên quan đến JTextField, bạn có thể thêm một bộ lắng nghe sự kiện (event listener) vào JTextField. Ví dụ:
textField.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // Xử lý sự kiện khi người dùng nhấn Enter trong JTextField } });
Trên đây là các bước cơ bản để tạo và sử dụng JTextField trong Java Swing. Bạn có thể tùy chỉnh và mở rộng chức năng của JTextField theo nhu cầu của ứng dụng của mình.
Xem thêm Java Swing Tutorial – hướng dẫn
Tùy chỉnh giao diện của JTextField
Để tùy chỉnh giao diện của JTextField trong Java Swing, bạn có thể sử dụng các phương thức và thuộc tính có sẵn. Dưới đây là một số ví dụ về cách tùy chỉnh giao diện của JTextField:
- Đặt màu nền và màu chữ:
- Đặt màu nền của JTextField:
textField.setBackground(Color.WHITE);
- Đặt màu chữ của JTextField:
textField.setForeground(Color.BLACK);
- Đặt kích thước và kiểu chữ:
- Đặt kích thước chữ của JTextField:
textField.setFont(new Font("Arial", Font.PLAIN, 12));
- Đặt kiểu chữ in đậm cho JTextField:
textField.setFont(textField.getFont().deriveFont(Font.BOLD));
- Đặt viền và đường viền:
- Đặt viền cho JTextField:
textField.setBorder(BorderFactory.createLineBorder(Color.BLACK));
- Đặt đường viền nổi bật khi JTextField được chọn:
textField.setBorder(BorderFactory.createLineBorder(Color.BLUE));
- Đặt hướng dẫn văn bản (placeholder):
- Đặt hướng dẫn văn bản cho JTextField:
textField.setPlaceholder("Nhập thông tin");
- Đặt màu văn bản của hướng dẫn:
textField.setPlaceholderForeground(Color.GRAY);
- Thay đổi hình dạng con trỏ:
- Đặt hình dạng con trỏ của JTextField:
textField.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
- Vô hiệu hóa JTextField:
- Vô hiệu hóa JTextField:
textField.setEnabled(false);
- Thay đổi chiều dài tối đa của văn bản:
- Đặt chiều dài tối đa của văn bản trong JTextField:
textField.setDocument(new JTextFieldLimit(10));
Đây chỉ là một số ví dụ về tùy chỉnh giao diện của JTextField. Bạn có thể khám phá thêm các phương thức và thuộc tính khác của lớp JTextField để tùy chỉnh theo nhu cầu của ứng dụng của mình.
Xem thêm JSeparator trong Java Swing
Xử lý sự kiện với JTextField
Để xử lý sự kiện với JTextField trong Java Swing, bạn có thể sử dụng các lớp lắng nghe sự kiện (event listener) như ActionListener, DocumentListener, FocusListener và KeyListener. Dưới đây là một số ví dụ về cách xử lý sự kiện với JTextField:
- Sự kiện khi nhấn Enter:
textField.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Xử lý sự kiện khi nhấn Enter String text = textField.getText(); // ... } });
- Sự kiện khi thay đổi nội dung của JTextField:
textField.getDocument().addDocumentListener(new DocumentListener() { public void insertUpdate(DocumentEvent e) { // Xử lý sự kiện khi có thay đổi nội dung String text = textField.getText(); // ... } public void removeUpdate(DocumentEvent e) { // Xử lý sự kiện khi có thay đổi nội dung String text = textField.getText(); // ... } public void changedUpdate(DocumentEvent e) { // Xử lý sự kiện khi có thay đổi nội dung String text = textField.getText(); // ... } });
- Sự kiện khi TextField được tập trung vào (focus):
textField.addFocusListener(new FocusListener() { public void focusGained(FocusEvent e) { // Xử lý sự kiện khi TextField được tập trung vào // ... } public void focusLost(FocusEvent e) { // Xử lý sự kiện khi TextField mất tập trung // ... } });
- Sự kiện khi phím được nhấn trên JTextField:
textField.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { // Xử lý sự kiện khi có phím được nhấn // ... } public void keyReleased(KeyEvent e) { // Xử lý sự kiện khi phím được nhả ra // ... } public void keyTyped(KeyEvent e) { // Xử lý sự kiện khi có phím được gõ // ... } });
Đây chỉ là một số ví dụ về xử lý sự kiện với JTextField. Bạn có thể sử dụng các lớp lắng nghe sự kiện khác tùy theo yêu cầu của ứng dụng của mình.
Xem thêm JDialog trong java swing
Ứng dụng của JTextField trong giao diện người dùng
JTextField là một thành phần quan trọng trong giao diện người dùng Java Swing và được sử dụng rộng rãi trong các ứng dụng. Dưới đây là một số ứng dụng phổ biến của JTextField:
- Nhập dữ liệu: JTextField cho phép người dùng nhập dữ liệu từ bàn phím, như tên, địa chỉ, số điện thoại, v.v. Điều này rất hữu ích trong việc xây dựng các biểu mẫu nhập liệu và các trang đăng ký.
- Tìm kiếm và lọc: JTextField có thể được sử dụng để nhập các từ khóa hoặc điều kiện tìm kiếm để tìm kiếm và lọc dữ liệu trong ứng dụng. Khi người dùng nhập vào JTextField, ứng dụng có thể xử lý dữ liệu và hiển thị kết quả tương ứng.
- Thao tác với cơ sở dữ liệu: JTextField có thể được sử dụng để nhập các thông tin cần thiết cho các thao tác liên quan đến cơ sở dữ liệu như tạo, cập nhật hoặc xóa dữ liệu. Người dùng có thể nhập các giá trị cho các trường dữ liệu hoặc điều kiện truy vấn.
- Tính toán và nhập số liệu: JTextField cho phép người dùng nhập số liệu và thực hiện các tính toán tương ứng. Ví dụ, trong một ứng dụng quản lý tài chính, người dùng có thể nhập số tiền hoặc các biểu thức toán học để tính toán tổng hoặc lợi nhuận.
- Điều khiển ứng dụng: JTextField cũng có thể được sử dụng để nhập các lệnh hoặc chỉ dẫn để điều khiển ứng dụng. Ví dụ, trong một ứng dụng văn bản, người dùng có thể nhập các lệnh để tạo mới, lưu, in hoặc thay đổi kiểu chữ.
Tóm lại, JTextField là một thành phần quan trọng trong giao diện người dùng Java Swing và có rất nhiều ứng dụng trong việc nhập dữ liệu, tìm kiếm, làm việc với cơ sở dữ liệu và tính toán trong các ứng dụng.