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); }
//*******************************************************
To jak to zrobiłem. Szukałem sposobu na przekazanie nazw guzików do metody, dzięki czemu mogłem zlikwidować zasięg około 12 przycisków.
Złapanie nazwy przycisku okazało się trudne dla mnie (ja tylko robiłem Javę przez dzień lub dwa), więc wymyśliłem to, aby przekazać etykietę/tekst do metody.
Ten kod może być umieszczony w jego własnej metody tak, że po dokonaniu Twój zestaw przycisku można po prostu iść do każdego zdarzenia click i wklej
SendButtonLabel(evt.ToString());
następnie przekazać go stamtąd do listy if/następnie buttonlist metoda
lub cokolwiek potrzebuje twój projekt, bez konieczności wchodzenia i kodowania czegokolwiek do każdego zdarzenia kliknięcia. Przypuszczam, że byłoby to możliwe, gdybyś wykonywał konkretny projekt, aby skonfigurować IDE, aby automatycznie dodać wywołanie tej metody do każdego zdarzenia kliknięcia w trakcie jego tworzenia, ale jeszcze nie jestem tak zaawansowany.
Użyj 'równa się' zamiast' == ', aby porównać ciągi. Co jest nie tak z tym, jak je zdobywasz? –
Mówi, że getText() nie jest metodą w java.awt.event.MouseEvent - czy istnieje podobna metoda w MouseEvent, która zwraca taki tekst? –