fixer un Graphics pour eviter kil ne s'efface, c possible ?

fixer un Graphics pour eviter kil ne s'efface, c possible ? - Java - Programmation

Marsh Posté le 13-12-2002 à 00:51:33    

j'ai un applet java qui affiche un texte au fur et a mesure, l'affichage se fait avec drawString, mais quand je deplace une fenetre au dessus de mon applet, ou que je redui le browser puis que je le ragrandi, ou encore quand j'apelle resize sur l'applet, tout ce que jai deja ecrit avec drawString disparait :/
 
y aurait il moyen d'empecher ca ?

Reply

Marsh Posté le 13-12-2002 à 00:51:33   

Reply

Marsh Posté le 13-12-2002 à 08:46:14    

ouais : il faut que tu te crées une classe qui gère le texte à afficher, et que l'affichage avec drawString se fasse dans le update(Graphics g) du composant, et que paint(Graphics g) appelle super.paint(g); puis update(g);
 
Enfin, ça, c'et UNE des solutions : en gros, ton problème vient du fait que (je pense) tu ne dessines ton texte qu'une fois dans ton composant, et que le composant ne garde aucune info sur ce qu'on a dessiné sur lui : il s'en fout!! Lui, il se contente d'appeller sa méthode paint(Graphics) ou update(Grahpics) quand on le lui demande, c'est à dire dans les cas que tu décris : redimensionnement, passage d'un élément devant lui, etc....


Message édité par gfive le 13-12-2002 à 08:48:27
Reply

Marsh Posté le 13-12-2002 à 17:02:25    

je sais pas si je vais poouvoir utiliser ca...
a ce que j ai compris Update efface et redessine tout
 
mais pour mon truc ca marchera pas passkeu en fait j'ecris les lettre du fichier texte au fur et a mesure, mais je garde pas en memoire les lettres deja affichées
 
en fait il me faudrait une fonction qui enregistrerais le Graphics courant comme Graphics par defaut, et quand on appelerais update comme quand je reduis la fenetre eh bien ca remettrais le graphic dans l'etat de sa derniere modification

Reply

Marsh Posté le 13-12-2002 à 18:54:33    

et pourquoi tu les enregistres pas les lettres ???

Reply

Marsh Posté le 13-12-2002 à 19:04:19    

ca les affiches sur plusieurs lignes
je lis le 1er caractere et je l affiche ensuite je lis le 2eme je l affiche etc
kan j arrive au bout de la ligne je "saute une ligne" dans mon graphics en augmentant la hauteur a laquelel j'ecris
 
ca donne un truc comme ca pour le moment :
http://aves.free.fr/applet/Afficheur.html
 
je peux pas tout sauvegarder et tout redessiner a chaque fois, le programem doit faire moins de 50 ;
c poru un concours, je suis a 39 ; je coris la ^^

Reply

Marsh Posté le 13-12-2002 à 19:16:27    

moins de 50 quoi ???
 
je vois pas le problême d'enregistrer les lettres ... c'est vraiment pas grand chose à faire !

Reply

Marsh Posté le 13-12-2002 à 19:17:38    

50 point virgules ???? :pt1cable:  
 
vive le code illisible !!!
 
mais je vois toujours pas le problème d'enregistrer les lettres ...

Reply

Marsh Posté le 13-12-2002 à 19:55:27    

je comprends pas ce ke tu veu dire par enregistrer les lettres !

Reply

Marsh Posté le 13-12-2002 à 20:38:55    

ben tu les ajoute dans un vector au fur et à mesure que tu les affiche et sur le update tu les réaffiche toutes

Reply

Marsh Posté le 13-12-2002 à 21:23:00    

ouaip mais ca m oblige aussi a stocker la hauteur a laquelle affiché chaque vector
 
enfin ca peut etre joauble je v voir ca pour le moment jsusi dans un proj de c++ c pas la fete ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed