Jak napisać program w którym klikam w button1- i realizowana jest jakaś metoda. Następnie klikam znów w ten button1- i realizowana jest jakaś inna metoda, itd? Będę wdzięczny za wytłumaczenie jak dla początkującego- laika.
Różne metody dla kolejnego kliknięcia
- Rejestracja: dni
- Ostatnio: dni
Jeżeli masz tylko dwie metody to dodaj sobie jakąś flagę, pole prywatne typu bool. W handlerze kliknięcia sprawdzisz stan flagi, zmienisz jej stan (flag = !flag) i wywołasz konkretną metodę.
- Rejestracja: dni
- Ostatnio: dni
Łopatologicznie:
tworzysz sobie zmienną, która będzie inkrementowana wewnątrz metody, która wykonuje akcje po kliknięciu przycisku (w javie by to była metoda actionPerformed) i następnie drabinka if-else, np:
int clickCount = 0;
//metoda odpowiedzialna za obslugę kliknięcia
actionPerformed(ActionEvent e) {
clickCount++;
//wywoła metoda1 po pierwszym klinięciu
if (clickCount == 1) {
metoda1();
}
//wywoła metoda2 po drugim kliknięciu
else if (clickCount == 2) {
metoda2();
}
//wyzerowanie
else {
clickCount = 0;
}
}
dodanie znacznika <code class="csharp"> - fp
- Rejestracja: dni
- Ostatnio: dni
- Postów: 64
Właśnie mam tylko dwie metody i wolałbym zrobić to właśnie z tymi flagami, ale nie wiem co gdzie wpisać- prosiłbym o takie łopatologiczne powiedzenie, co gdzie wpisać, bo naprawdę dopiero zaczynam :)
- Rejestracja: dni
- Ostatnio: dni
Zadeklaruj pole: bool flag = true/false w zależności od której chcesz zacząć. W handlerze zmieniasz jej stan flag = !flag; oraz wywołujesz metodę: if (flag) jedna(); else druga();.