import java.util.Arrays;
import java.util.List;
private void Button1ActionPerformed(java.awt.event.ActionEvent evt) {
//********************************************************
String Hunt1 = evt.toString();
Hunt1 = Hunt1.replaceAll("=", ",");
Hunt1 = Hunt1.replaceAll("]", ",");
String [] Hunt2 = Hunt1.split(",");
List Hunt3 = Arrays.asList(Hunt2);
String ButtonText = Hunt3.get(2).toString();
System.out.println(ButtonText); }
//*******************************************************
Đây là cách tôi đã làm nó. Tôi đã tìm kiếm một cách để vượt qua tên nút ra một phương pháp để tôi có thể chạy xuống một phạm vi if(s==Button1){}else if(s==Button2){.....
khoảng 12 nút.
Bắt tên nút tỏ ra khó khăn đối với tôi (tôi chỉ làm Java trong một ngày hoặc lâu hơn) vì vậy tôi đã đưa ra điều này để chuyển nhãn/văn bản ra một phương thức.
Đó là mã có thể được đặt trong phương pháp riêng của mình để sau khi bạn thực hiện nút của bạn thiết lập bạn chỉ có thể đi vào mỗi sự kiện nhấp chuột và dán
SendButtonLabel(evt.ToString());
sau đó vượt qua nó từ đó đến bạn nếu/sau đó phương pháp buttonlist
hoặc bất kỳ dự án nào của bạn cần mà không phải thực sự truy cập và mã hóa mọi thứ vào mỗi sự kiện nhấp chuột. Tôi cho rằng nó sẽ là có thể nếu bạn đang làm một dự án cụ thể để thiết lập IDE của bạn để tự động thêm lời gọi phương thức đó vào mỗi sự kiện click khi nó được tạo ra, nhưng tôi vẫn chưa tiến xa đến mức nào.
Sử dụng 'equals' thay vì' == 'để so sánh chuỗi. Có gì sai với cách bạn nhận được nó? –
Nó nói rằng getText() không phải là một phương pháp trong java.awt.event.MouseEvent - là có một phương pháp tương tự trong MouseEvent mà trả về văn bản như thế? –