Cách triển khai Trình xử lý hành động trong Java



Bài viết này sẽ cung cấp cho bạn kiến ​​thức chi tiết và toàn diện về Action Listener trong Java với các ví dụ để bạn hiểu rõ hơn.

Khi người dùng thực hiện một hành động nào đó phải ở một vị trí để xử lý nó một cách hiệu quả. Trình nghe hành động trong Java rất hữu ích trong những tình huống như vậy. Trong bài viết này, chúng tôi sẽ thảo luận về những điểm sau:

Giới thiệu về Trình nghe hành động

Là một lập trình viên, nhiệm vụ của bạn là xác định những gì người nghe hành động có thể làm cho hoạt động của người dùng. Ví dụ: chúng ta hãy xem xét một tình huống đơn giản trong đó người dùng chọn một mục nhất định từ thanh menu hoặc nhấn phím enter trong trường văn bản để chuyển đến một dòng mới. Khi các chức năng người dùng như vậy được thực hiện, một thông báo “hành động đã thực hiện” được gửi đến tất cả các trình nghe hành động tương ứng được xác định trong thành phần liên quan.





trim làm gì trong java

Dưới đây mô tả bằng hình ảnh cách viết trình nghe hành động:

Action-Listener-List



Ở đây, phần quan trọng và không thể thiếu là một đối tượng có thể triển khai giao diện Action Listener. Đối tượng này phải được chương trình xác định là một trình nghe hành động trên nút không là gì khác ngoài nguồn sự kiện.

Do đó, sử dụng phương thức addActionListener, khi người dùng nhấp vào nút, nó sẽ kích hoạt một sự kiện hành động. Điều này gọi phương thức actionPerformed của trình xử lý hành động. Xin lưu ý rằng đó là phương pháp duy nhất trong giao diện ActionListener. Một đối số duy nhất cho phương thức là đối tượng ActionEvent, đối tượng này cung cấp thông tin về sự kiện và nguồn của nó

Lớp sự kiện hành động

Phương pháp Sự miêu tả
Chuỗi getActionCommand ()

Trả về chuỗi được liên kết với hành động này. Hầu hết các đối tượng có thể kích hoạt các sự kiện hành động đều hỗ trợ một phương thức gọi là setActionCommand, cho phép bạn thiết lập chuỗi này.



int getModifier ()

Nó trả về một số nguyên mà người dùng đã nhấn khi xảy ra sự kiện hành động. Một số hằng số do ActionEvent xác định như SHIFT_MASK, CTRL_MASK, META_MASK và ALT_MASK được sử dụng để xác định các phím được nhấn. Ví dụ: nếu người dùng chọn một mục menu thì biểu thức là khác

Đối tượng getSource ()

(trong java.util.EventObject)

Trả về đối tượng đã kích hoạt sự kiện.

Triển khai Trình xử lý hành động trong Java

package com.javapointers.javase import java.awt.BorderLayout import java.awt.event.ActionEvent import java.awt.event.ActionListener import javax.swing.JButton import javax.swing.JFrame import javax.swing.JTextArea public class ActionListener ActionListener {JButton button JFrame frame JTextArea textArea public ActionListenerTest () {button = new JButton ('Click Me') frame = new JFrame ('ActionListener Test') textArea = new JTextArea (5, 40) button.addActionListener button.addActionListener. setLineWrap (true) frame.setLayout (new BorderLayout ()) frame.add (textArea, BorderLayout.NORTH) frame.add (button, BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setVible ( true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('Bạn đã nhấp vào buttonn'))} public static void main (String args []) {ActionListenerTest test = new ActionListenerTest ()}}

Trong đoạn mã trên, một trình nghe hành động được yêu cầu phải được triển khai trong một lớp trước khi bạn có thể truy cập nó. Vì vậy, hãy chắc chắn rằng bạn thêm từ khóa triển khai và trình nghe.

button.addActionListener (this)

Nó có nghĩa là nút thành phần sẽ được bao gồm trong các thành phần đang được theo dõi cho một sự kiện hành động. Bắt buộc phải thêm một thành phần vào trình xử lý hành động để bạn thêm mã khi người dùng nhấp vào thành phần cụ thể đó. Các thành phần không được thêm với trình nghe hành động sẽ không được giám sát.

Bây giờ chúng ta hãy xem xét một ví dụ đơn giản khác về Action Listener trong Java và cách nó hoạt động.

Ví dụ 2:

Ở đây có 3 đối tượng nút Java đơn giản mà chúng được đặt tên là Đỏ, Xanh lục và Xanh lam. Tùy thuộc vào nút được nhấp vào, màu nền của màn hình thay đổi.

Các sơ đồ dưới đây mô tả đầu ra tương ứng của mã được đặt ở cuối tài liệu này. Chỉ một trường hợp màn hình chuyển sang màu xanh lam đã được hiển thị. Các màu khác như Đỏ và xanh lục có thể được xem bằng cách triển khai mã này.

sự khác biệt giữa lớp trừu tượng và giao diện là gì

Đối tượng nút “rb” được liên kết với ActionListener. Tham số 'this' đại diện cho ActionListener. Trong trường hợp liên kết không được thực hiện, chương trình sẽ hiển thị 3 nút nhưng không có xử lý sự kiện.

Phương thức getActionCommand () của lớp ActionEvent ném lại nhãn của nút tương ứng được người dùng nhấp vào dưới dạng một chuỗi. str.

import java.awt. * import java.awt.event. * public class ButtonDemo expand Khung triển khai ActionListener {Button rb, gb, bb // ba biến tham chiếu Button public ButtonDemo () // hàm tạo để xác định các thuộc tính cho một button { FlowLayout fl = new FlowLayout () // thiết lập bố cục thành frame setLayout (fl) rb = new Button ('Red') // chuyển đổi các biến thành các đối tượng gb = new Button ('Green') bb = new Button ('Blue') rb.addActionListener (this) // liên kết các nút Java với ActionListener gb.addActionListener (this) bb.addActionListener (this) add (rb) // thêm từng nút Java vào khung add (gb) add (bb) setTitle ('Button in Action ') setSize (300, 350) // kích thước khung, (rộng x cao) setVbroken (true) // xác định khung hiển thị trên màn hình, mặc định là setVible (false)} // chỉ ghi đè phương thức trừu tượng của giao diện ActionListener public void actionPerformed (ActionEvent e) {String str = e.getActionCommand () // để xác định nút được nhấp vào System.out.println ('Bạn đã nhấp vào' + str + 'nút') // if (str.equals ('Red')) {setBackground (Color.red)} else if (str.equals ('Green')) {setBackground (Color.green)} else if (str.equals ('Blue') ) {setBackground (Color.blue)}} public static void main (String args []) {new ButtonDemo () // đối tượng ẩn danh của ButtonDemo để gọi hàm tạo}}

Với điều này, chúng ta sẽ đến phần cuối của bài viết Trình xử lý hành động trong Java này. Tôi hy vọng bạn đã hiểu về Action Listener trong Java.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo và cấp chứng chỉ về Java J2EE và SOA của Edureka được thiết kế cho sinh viên và các chuyên gia muốn trở thành Nhà phát triển Java. Khóa học được thiết kế để cung cấp cho bạn khởi đầu về lập trình Java và đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog “Trình xử lý hành động trong Java” này và chúng tôi sẽ liên hệ lại với bạn sớm nhất có thể.