View Full Version : [Java] Grafica-Canvas repaint in windows
arthurgp
01-04-2008, 14:19
Salve a tutti,
ho un problemino riguardo il repaint di un canvas in java. Vi spiego tutto:
io utilizzo java con mac osx e non ho nessun problema, invece un mio amico che lavora allo stesso programma (Sotto windows) ha un problema durante il repaint di un grafico fatto in un canvas (oggetto appartenente al Jcomponent di Swing).
Infatti il disegno si vede per piccoli intervalli di tempo e poi sparisce, però l'oggetto reagisce agli eventi.
Qualcuno mi sa dare qualche indicazione ??
Infatti il disegno si vede per piccoli intervalli di tempo e poi sparisce, però l'oggetto reagisce agli eventi.
Qualcuno mi sa dare qualche indicazione ??Senza poter vedere il codice che è stato scritto, mi sa che dobbiamo chiamare il mago Silvan. ;)
arthurgp
01-04-2008, 15:08
Se il mago Silvan mi potesse dare una mano mi farebbe molto piacere...
Cmq il codice della funzione paint è questo:
non ti allego quello di drawGraphics perchè è molto lungo e complesso e non credo vogliate analizzarlo (detto in poche parole disegna un albero dove rootNode è la radice).
Capita che in alcuni punti del programma , soprattutto quando viene richiamato un evento io esegua canvas.repaint(); per aggiornare il disegno..
public void paint(Graphics g)
{
if(loadedDtd==true){
drawGraphic(this.getGraphics(),rootNode,this.getWidth()/2,DEFAULT_VERTICAL_NODE_DISTANCE);
g.dispose();
}
}
Cmq il codice della funzione paint è questo:Ok, vedendo il codice forse non c'è bisogno del mago ...
drawGraphic(this.getGraphics(),rootNode,this.getWidth()/2,DEFAULT_VERTICAL_NODE_DISTANCE);Non gli puoi passare direttamente 'g'??
g.dispose();Questo sicuramente non ci va. Il Graphics che ti è stato passato non è "tuo", non l'hai creato tu e quindi non devi fare un dispose.
arthurgp
01-04-2008, 15:46
Grandissimo... tutto ciò era rimasto da alcune prove fatte in qualche momento di pazzia.. cmq grazie mille..
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.