anoniem Geplaatst: 12 maart 2002 Delen Geplaatst: 12 maart 2002 Ik ben een applet aan het maken dat om de zoveel seconden een nieuwe text in een textfield laat zien. Hiervoor had ik het volgende bedacht: [code:1:b39feeff01] public void showIt() { while(true) { Enumeration e = mes.elements(); while(e.hasMoreElements()) { field.setText((String)e.nextElement()); try{Thread.sleep(2000);} catch(Exception s) {field.setText("error");} } } } [/code:1:b39feeff01] Waarbij: mes ==een vector met berichten field == textfield Zo worden de elementen uit een vector na elkaar geplaatst. Het werkt wel alleen het irritante gebeurt wanneer je een ander scherm over de pagina heen doet, en vervolgens weer terug haalt. Dan wordt ie niet gelijk ge-repaint. Is dit te vatten/weet iemand hoe dit moet? (de functie wordt door een button getriggered) Tnx, Haike _________________ de NS is alleen op tijd als jij te laat bent [ Dit Bericht is bewerkt door: zegwaard op 2002-03-12 20:56 ] Quote Link naar reactie
anoniem Geplaatst: 14 maart 2002 Auteur Delen Geplaatst: 14 maart 2002 Begrijp ik goed dat je wilt weten hoe de methode repaint werkt? Quote Link naar reactie
anoniem Geplaatst: 14 maart 2002 Auteur Delen Geplaatst: 14 maart 2002 Ik wil weten waarom het applet, wanneer het ge-unfocused en vervolgens weer gefocused (zo noem je dat toch)?, er beroerd uitziet. Pas bij de volgende repaint wordt ie weer normaal. Waarom gebeurt dit, dat wil ik weten. Haike Quote Link naar reactie
anoniem Geplaatst: 14 maart 2002 Auteur Delen Geplaatst: 14 maart 2002 Sorry ik zou het niet weten... [ Dit Bericht is bewerkt door: ilife op 2002-03-14 20:59 ] Quote Link naar reactie
anoniem Geplaatst: 15 maart 2002 Auteur Delen Geplaatst: 15 maart 2002 ik ook niet :sad: Quote Link naar reactie
anoniem Geplaatst: 15 maart 2002 Auteur Delen Geplaatst: 15 maart 2002 Ik snap niet precies hoe je het opgelost hebt.... wanneer is dan die volgende repaint?? dat stukje code dat je laat zien, wordt dat aangeroepen vanuit de AWT thread?? (lees: direct vanuit de action performed methode) want dat is dus niet de bedoeling... Quote Link naar reactie
anoniem Geplaatst: 15 maart 2002 Auteur Delen Geplaatst: 15 maart 2002 ja ik heb om het te testen, deze methode vanuit een actionperformed aangeroepen, maar uiteindelijk moet het bij het opstarten (init() ?) al gebeuren. Ja dus.. Maar als ik het bij init() doe dan gebeurt er niks, behalve dat hij het laatste element uit de vector toont. (Ik heb dus het idee dat hij bij het initialiseren de hele lus al door geweest is.) Snap je dit nog? :wink: Haike Quote Link naar reactie
anoniem Geplaatst: 15 maart 2002 Auteur Delen Geplaatst: 15 maart 2002 ik snap het een beetje, wat je in ieder geval moet doen is een aparte thread maken die die text langzaam neerzet. wat er nu gebeurt is dat de awt thread (de thread die zorgt voor het afhandelen van de muis <b>en het repainten </b> bezig is jouw letterjes op het scherm te zetten en slapen (de Thread.sleep(2000)) maak een nieuwe thread die die letterjes neerzet en start alleen die thread. weet je hoe dat moet?? Quote Link naar reactie
anoniem Geplaatst: 16 maart 2002 Auteur Delen Geplaatst: 16 maart 2002 Nieuwe thread maken wel. Die maak je dus aan en wanneer moet die dan starten? Bij het event of bij het begin. Haike Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen