Hai cách:
1. Thực hiện ActionListener trong lớp học của bạn, sau đó sử dụng jBtnSelection.addActionListener(this);
Sau đó, bạn sẽ phải xác định một menthod, public void actionPerformed(ActionEvent e)
. Tuy nhiên, làm điều này cho nhiều nút có thể gây nhầm lẫn, vì phương thức actionPerformed
sẽ phải kiểm tra nguồn của mỗi sự kiện (e.getSource()
) để xem nút nào đến từ đó.
2. Sử dụng nặc danh các lớp bên trong:
jBtnSelection.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
selectionButtonPressed();
}
});
Sau đó, bạn sẽ phải xác định selectionButtonPressed()
. Điều này hoạt động tốt hơn khi bạn có nhiều nút, bởi vì các cuộc gọi của bạn đến các phương thức riêng lẻ để xử lý các hành động nằm ngay bên cạnh định nghĩa của nút.
Phương pháp thứ hai cũng cho phép bạn gọi trực tiếp phương thức chọn. Trong trường hợp này, bạn có thể gọi selectionButtonPressed()
nếu một số hành động khác xảy ra, giống như khi bộ hẹn giờ tắt hoặc thứ gì đó (nhưng trong trường hợp này, phương pháp của bạn sẽ được đặt tên khác, có thể là selectionChanged()
).
Nguồn
2008-11-12 18:49:17
bạn đã giải quyết được sự nhầm lẫn của tôi, cảm ơn rất nhiều –
@Sara - Rất vui được giúp! Nếu bạn có thể nghĩ về bất kỳ giải thích rõ ràng hơn, tôi sẽ rất vui khi thêm chúng vào câu trả lời này. –
Khi ai đó hỏi: Làm cách nào một thành phần có thể xử lý các sự kiện của riêng mình? là câu trả lời cho câu hỏi đó để sử dụng các lớp bên trong vô danh như bạn ở đây cho thấy? –