Sự kiện xử lý button trong java
Ngày đăng:
02/10/2022
Trả lời:
0
Lượt xem:
55
Tráng thái của một đối tượng bị thay đổi được gọi là một sự kiện (event). Ví dụ, bấm vào nút, kéo chuột, vv Gói java.awt.event cung cấp nhiều lớp sự kiện và interface Listener để xử lý sự kiện Java AWT. Show Nội dung chính
Các lớp Java Event và các interface Listener
Các bước để thực hiện xử lý sự kiện trong Java AWTCác bước sau được yêu cầu để thực hiện xử lý sự kiện:
Phương thức đăng kýĐể đăng ký thành phần với trình Listener, có nhiều lớp cung cấp các phương thức đăng ký. Ví dụ:
Ví dụ xử lý sự kiện trong Java AWTChúng tôi có thể đặt mã xử lý sự kiện vào một trong các vị trí sau:
1. Xử lý sự kiện Java AWT - bên trong lớp hiện tạipackage vn.viettuts.awt; import java.awt.Button; import java.awt.Frame; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class AWTEventHandling1 extends Frame implements ActionListener { private TextField textField; public AWTEventHandling1() { // tạo các thành phần textField = new TextField(); textField.setBounds(60, 80, 170, 20); Button button = new Button("click me"); button.setBounds(100, 120, 80, 30); // đăng ký trình listener button.addActionListener(this); // thêm thành phần, kích thước, layout, khả năng hiển thị setTitle("Vi du xu ly su kien Java AWT"); add(button); add(textField); setSize(400, 300); setLayout(null); setVisible(true); } @Override public void actionPerformed(ActionEvent e) { textField.setText("Welcome to Java AWT"); } public static void main(String args[]) { new AWTEventHandling1(); } } Kết quả: Xử lý sự kiện Java AWT - bên trong lớp hiện khácTạo lớp view: AWTView.java package vn.viettuts.awt; import java.awt.Button; import java.awt.Frame; import java.awt.TextField; public class AWTView extends Frame { TextField textField; AWTView() { // tạo các thành phần textField = new TextField(); textField.setBounds(60, 80, 170, 20); Button button = new Button("click me"); button.setBounds(100, 120, 80, 30); // đăng ký listener Controller obj = new Controller(this); button.addActionListener(obj); // thêm thành phần, kích thước, layout, khả năng hiển thị setTitle("Vi du xu ly su kien Java AWT"); add(button); add(textField); setSize(400, 300); setLayout(null); setVisible(true); } } Tạo lớp controller: Controller.java package vn.viettuts.awt; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Controller implements ActionListener { AWTView obj; Controller(AWTView obj) { this.obj = obj; } @Override public void actionPerformed(ActionEvent e) { obj.textField.setText("Welcome to Java AWT"); } } Tạo lớp AWTEventHandling2.java package vn.viettuts.awt; public class AWTEventHandling2 { public static void main(String[] args) { AWTView view = new AWTView(); } } Kết quả: Xử lý sự kiện Java AWT - bên trong lớp nặc danhpackage vn.viettuts.awt; import java.awt.Button; import java.awt.Frame; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class AWTEventHandling3 extends Frame { TextField textField; AWTEventHandling3() { textField = new TextField(); textField.setBounds(60, 50, 170, 20); Button button = new Button("click me"); button.setBounds(50, 120, 80, 30); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { textField.setText("Hello World!"); } }); setTitle("Vi du xu ly su kien Java AWT"); add(button); add(textField); setSize(400, 300); setLayout(null); setVisible(true); } public static void main(String args[]) { new AWTEventHandling3(); } } Kết quả: |