Witam wszystkich. Zabrałem się właśnie za program o nazwie stacja benzynowa. Jestem początkujący i mam takowy problem. Cała aplikacja jest w swingu posiada 5 przycisków odpowiednio start, stop, on, pb, gaz. Nie mam pojęcia jaką akcje przypisać do przycisku start aby po jego kliknięciu ilość litrów(wyświetlana na etykiecie) zaczęła się zwiększać na bieżąco. Proszę o jakieś propozycje zastanawiałem się nad pętlą for a w niej sleep().
Odliczanie litrów w stacji benzynowej
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
- Postów: 400
sleep() w pętli for zablokuje główny wątek aplikacji, czyli aplikacja się przywiesi na czas podany w metodzie sleep().
Musisz skorzystać z drugiego wątku do zwiększania ilości litrów na etykiecie, tylko trzeba to zrobić tak żeby przy każdym kliknięciu nie tworzyć kolejnego wątku.
Ewentualnie z timera jak kolega wyżej napisał.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
bakeraw2 napisał(a):
Musisz skorzystać z drugiego wątku do zwiększania ilości litrów na etykiecie, tylko trzeba to zrobić tak żeby przy każdym kliknięciu nie tworzyć kolejnego wątku.
Ewentualnie z timera jak kolega wyżej napisał.
Mógłbyś bardziej sprecyzować ? Bo jak wspomniałem jestem początkujący i nie bardzo ogarniam o co kaman w wątkach o których wspomniałeś.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 400
Poczytaj:
http://javastart.pl/zaawansowane-programowanie/watki-wprowadzenie-i-przyklad/
Generalnie chodzi o to, że metoda sleep() przywiesi działanie aplikacji, ponieważ przywieszasz główny wątek aplikacji. Jeśli skorzystasz z timera lub z drugiego wątku to będziesz miał główny wątek oraz wątek który co jakiś czas będzie zmieniał wartości na etykiecie. Dzięki temu aplikacja nie będzie się przywieszała na czas usypiania.