Siema, to mój pierwszy post i dopiero zaczynam zabawę z javą, ale jakoś sobie radzę. Chyba aż za dobrze bo cała moja grupa w szkole wyciąga ode mnie wszystkie programy zadane do domu, a potem idzie z gotowcem na zajęcia ;) Większość go przed zajęciami nawet nie kompiluje.
Postanowiłem stworzyć program pt: "Koniec dnia dziecka", który ma im trochę namącić w komputerach.
Na najbliższe zajęcia mamy przygotować grę w statki i chcę to wykorzystać.
Utworzyłem program z interfejsem, który na początku wyświetla takie okno gdzie użytkownik ustala rozmiar planszy:
I teraz po kliknięciu przycisku gra ma się dziać taka akcja:
if(źródło == bWersy)
{
try {
w = Integer.parseInt(tWersy.getText());
k = Integer.parseInt(tKolumny.getText());
if (w < 5 || w > 20 && k < 5 || k > 20)
lerr.setText("Gra musi mieć między 5-20 wierszy i kolumn. Spróbuj ponownie");
else
{
lerr1.setFont(new Font("Arial", Font.BOLD, 34));
lerr1.setText("\u0043\u004F \u0054\u004F \u0044\u005A\u0049\u0045\u004E \u0044\u005A\u0049\u0045\u0043\u004B\u0041 \u003F");
lerr2.setText("\u005A\u0057\u0049\u0045\u0043\u0048\u0041 \u005A\u0041\u003A");
tWersy.setVisible(false);
tKolumny.setVisible(false);
lWersy.setVisible(false);
lKolumny.setVisible(false);
bWersy.setVisible(false);
//tutaj ma być takie niby odliczanie
for(int i=5; i>=0; i--)
{
lCzas.setText(String.valueOf(i));
try{
Thread.currentThread().sleep(1000);
}
catch(ItrerruptedException ie){ }
}
}
lCzas.setText("4");
} catch (Exception ex){
lerr.setText("Wprowadź cyfry !");
}
}
I teraz problem w tym, że zamiast odliczać jest zwiecha, a po zakończeniu pętli od razu wynik. Trochę o tym czytałem, ale nie wiem co zrobić.
Wiem, że dzieje się tak dlatego, że akcja przycisku jest wyświetlana dopiero gdy zostanie zakończona.
Jak rozwiązać problem z odliczaniem ?
Z góry dzięki ?