Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[java] applet: wie weet hoe dit moet?

None
9 antwoorden
  • 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 ]
  • Begrijp ik goed dat je wilt weten hoe de methode repaint werkt?
  • 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
  • Sorry ik zou het niet weten…

    [ Dit Bericht is bewerkt door: ilife op 2002-03-14 20:59 ]
  • ik ook niet :sad:
  • 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…
  • 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
  • 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??
  • Nieuwe thread maken wel.

    Die maak je dus aan en wanneer moet die dan starten? Bij het event of bij het begin.

    Haike

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.