Avatar billede jonbdk Nybegynder
20. maj 2004 - 16:24 Der er 1 kommentar og
1 løsning

GUI problem med repaint - kommer forkert sted

Jeg har en frame hvori jeg løbende gentegner en plet (mere præcist et GPS koordinat) 2 gange i sekundet.
Jeg bruger null-layout og min metode er således:

private void drawCoord(double lon, double lat)
{
  g = getGraphics();
  g.fillOval(410 +(int)lon,90 + (int)lat,8,8);
  update(g);
}

99% af gangene når jeg tegner det, kommer den det rigtige sted, men engang imellem bliver den tegnet øverst i venstre hjørne af framet (0,0)
Avatar billede _carsten Nybegynder
20. maj 2004 - 18:20 #1
Har du prøvet at override paint() og så bare lade drawCoord angive koordinater

noget a la nedenstående burde virke, alternativet er at køre det i en tråd, men det kan jeg ikke se skulle være nødvendigt.


int lon, lat;

public void paint(Graphics g){
    if(lat != 0 && lon != 0)
        g.fillOval(410 +(int)lon,90 + (int)lat,8,8);
}

private void drawCoord(double lon, double lat){
    this.lon = lon;
    this.lat = lat;
    update(getGraphics());
}
Avatar billede jonbdk Nybegynder
11. juni 2004 - 21:20 #2
Fik det ikke til at virke på den måde (valgte at leve med at det en sjælden gang er forkert - det er jo java :D).
Lukker spørgsmålet igen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester