Kezdőoldal » Számítástechnika » Programozás » A Java GUI ban nem lehet ciklus?

A Java GUI ban nem lehet ciklus?

Figyelt kérdés

Netbeans-ben dolgozok általában, akartam csinálni egy szimpla órát. A rendes parancssoros kiírásos óra működött, de mivel itt nincs clrscr mint a pascalban, ezért ugrott sok sort és így tűnt igazi órának.


Meg akartam csinálni guiban is, bemásoltam a parancssoros kódot, beraktam az elemeket, és úgy csináltam, hogy kiírja az időt egy labelben vagy textfieldben már nem emlékszem, aztán 1 másodperc múlva törölje és írja ki az új időt szal pl 10:11:12-->10:11:13. De amint elindítom a programot, befagy. És más feladatoknál is amikor while-t használtam akkor egyszerűen megfagy.


Valamit én csinálok rosszul, vagy a gui-ban nem lehet ciklusozni, és egyenként kell megírni a lépéseket?



2014. jún. 11. 21:31
 1/5 iostream ***** válasza:
100%

A probléma itt az, hogy a GUI-nak kell az idő arra, hogy kirajzolja saját magát, te meg a ciklusban futó dolgoddal nem hagysz neki. Az ilyen dolgokat (bármit ami hosszabb időt igényel) külön szálon kell futtatni, különben akadozik a felület, akár be is fagyhat (biztos láttál már ilyet más programoknál). Az időzítést meg különösképp nem ciklusban oldjuk meg, hanem timer objektumokkal.


Nézz utána az eseményalapú programozásnak.

2014. jún. 11. 21:50
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
És egy órához amúgy is logikusnak tűnne valamilyen timert használni ciklus helyett, nem? :)
2014. jún. 11. 22:22
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:
a legegyszerűbb módon csináltam. Mindig hozzáad 1 másodpercet, 60 nál +1 perc és másodperc nullázás, 60 percnél +1 óra és másodperc nullázás és 24 óránál teljes nullázás. Semmi extra parancsot nem használtam, mert annyira még nem vagyok benne a dologban. Józan paraszti ész :)
2014. jún. 11. 22:45
 4/5 anonim ***** válasza:
ez idáig rendben van, de mint látod, a legegyszerűbb nem működik grafikus felületen.
2014. jún. 11. 22:50
Hasznos számodra ez a válasz?
 5/5 Tengor ***** válasza:
revalidate(), repaint(), updateUI()
2014. jún. 11. 22:51
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!