Ik wil graag op een plaatje een lijntje tekenen. Dit lijntje moet regelmatig geüpdate worden aangezien hij verplaatst van positie.
Classe LoadImage:
Bevat:
Constructor
PaintComponent
Run
Nu geeft de Constructor een waarde waardoor het lijntje op de juiste plek wordt gezet. Graag zou ik willen dat de Run method ervoor zorgt dat dit lijntje constant wordt getekend. Als het goed is wordt door de methode repaint PaintComponent aangeroepen. Helaas werkt dit bij mij niet.
Ik snap dat de PaintComponent elke keer dezelfde lijn zal tekenen. Maar de println wordt niet eens uitgevoerd.
Classe LoadImage:
Bevat:
Constructor
PaintComponent
Run
Nu geeft de Constructor een waarde waardoor het lijntje op de juiste plek wordt gezet. Graag zou ik willen dat de Run method ervoor zorgt dat dit lijntje constant wordt getekend. Als het goed is wordt door de methode repaint PaintComponent aangeroepen. Helaas werkt dit bij mij niet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| public LoadImage(int S) { snelheid = S; setPreferredSize(new Dimension(142, 71)); try { img = ImageIO.read(new File("Dashboard.jpg")); System.out.println("LoadImage, Constructor tekent Dashboard"); //repaint();p } catch (IOException e) { } } @Override public void paintComponent(Graphics g) { g.drawImage(img, 0, 0, null); g.setColor(Color.GREEN); //Omzetten van snelheid naar radialen double radialen = ((((snelheid + i) - 50) / 100.0) * (Math.PI)); //Bepaal coordinaten x = (straal) + (Math.sin(radialen) * straal); y = (straal) - (Math.cos(radialen) * straal); //Teken lijn g.drawLine(72, 70, (int) x, (int) y); System.out.println("Class: LoadImage, Method:Paintcomponent" + i); } public void run() { while (true) { try { repaint();<== Dit zou ervoor moeten zorgen dat PaintComponent wordt uitgevoerd. System.out.println("Class: LoadImage, Method:Run, Invoked:" + i); i++; Thread.sleep(1000); } catch (InterruptedException ex) { Logger.getLogger(LoadImage.class.getName()).log(Level.SEVERE, null, ex); } } } |
Ik snap dat de PaintComponent elke keer dezelfde lijn zal tekenen. Maar de println wordt niet eens uitgevoerd.
[ Voor 5% gewijzigd door battler op 23-12-2009 12:58 ]
Lux.Architectuur | Van Dromen tot Wonen | www.Lux-a.nl