Java hoe maak ik een Graphics g event zelf

Pagina: 1
Acties:

  • GAEvakYD
  • Registratie: Juni 2001
  • Laatst online: 09-09 17:42
Ik heb een vraagje, ik ben een spelaan het maken. Nu heb ik een spelbord, daar wil ik leger eenheden op plaatsen. Dat heb ik nu al. Het probleem is dat er een begn opstelling moet wezen en dat er achteraf plaajes moeten bewegen. Die initiele opstelling doe ik ik in de paintComponent. Nu wil ik dus dat als er iets verplaatst dat die ook getoont wordt, maar daar moet ik een functie voor maken. Die vraagt dan weer een Graphics G argument. Die paintComponent krijgt die automatisch al.

Dit stond eerst in de PC (is maar 1 icon).Dit wil ik dus laten doen in een aparte functie
code:
1
2
3
    int iTest =SpelBord[5][9].getX()+18;
    int iTest2 =SpelBord[5][9].getY()+2;
    images[1].paintIcon(this,g,iTest,iTest2);

Hoe kan ik dan zoiets doen????

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 09-09 22:48

.oisyn

Moderator Devschuur®

Demotivational Speaker

hoewel ik je probleem niet helemaal begrijp, kan ik je wel vertellen dat de functie repaint () de functies update (Graphics g) en paint (Graphics g) aanroept

en met getGraphics () kun je de Graphics opvragen van een component

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • GAEvakYD
  • Registratie: Juni 2001
  • Laatst online: 09-09 17:42
Het probleem is dat ik nu een functie gemaakt heb die een Graphics G argument verwacht(InitieleOpstelling. Die G heb ik nodig om een plaatje te tekenen. Hoe moet ik die aanroepen dan , ik heb nu dit, maar dan krijg ik een Nullpointer Execption

initieleOpstelling(getGraphics());

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 09-09 22:48

.oisyn

Moderator Devschuur®

Demotivational Speaker

als je een nullpointerexception krijgt dan is het component waarschijnlijk nog niet zichtbaar op het scherm (en is het dus ook niet van belang erop te tekenen :)). Gewoon even controleren of ie null is dus

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 10:40
Wat je beter kunt doen is een BufferedImage aanmaken (class variable dus) en op de graphics van die image tekenen. Vervolgens zet je in je paint() alleeen dat ie die BufferedImage moet tekenen.

  • Xanthus
  • Registratie: Februari 2002
  • Laatst online: 11-07 12:45
Het moet wel een component zijn om getGraphics() te ondersteunen(meer code?).
Als het niet dubbel gebuffered hoeft te zijn kan je in je paint methode gewoon initieleOpstelling(g) doen(bij
paint(Graphics g)).
Pagina: 1