Se connecter / S'enregistrer
Votre question

JAVA : petit problème

Tags :
  • Java
  • Programmation
Dernière réponse : dans Programmation
21 Octobre 2011 14:54:27

bonjour à tous et à toutes, je viens de me lancer dans le java, et , en voulant créer une fonction pour dessiner des rond , j'ai rencontré quelque problèmes
dans ma classe "Panneau (héritée de jpanel) voici le code de ma fonction paintcomponent:
public void paintComponent(Graphics g){
g.setColor(Color.red);
g.fillOval(x,y,50,50);
}
je sais , c'est tout simple. maintenant ma fonction dessin() (dans la classe Fenetre):
public void dessin(int x, int y){
pan.setX(x);
pan.setY(y);
pan.repaint() /*ca ne marche que je fasse ou pas pan.repaint() , les fonctions setX setY , comme vous l'aurez compris modifient la valeur des variable x et y dans paintcomponent ... *\

}
le problème , c'est que l'ancien rond disparait et qu'un nouveau apparaît , et c'est pas ce que je veux, je veux que qu'un nouveau rond se dessine en suivant les coordonnées que le lui ai donnée ...(j'ai suivi les cours sur siteduzero, et dans celui-ci lors d'une animation , le rond laisserait sa trace derrière lui, c'est pourquoi j'avais pensé que ca marcherait )

merci pour votre éventuelle aide ;) 

Autres pages sur : java petit probleme

a c 232 L Programmation
21 Octobre 2011 15:39:19

Salut,

Je sais pas s'il y a une meilleure méthode, ne faisait pas trop de Java.
Mais j'aurais tendance à créer un tableau de coordonnées, et tu dessines tous les ronds avec tes coordonnées.
25 Octobre 2011 12:08:00

Une autre méthode :

Plutôt que public void paintComponent(Graphics g) { } utilise public void paint(Graphics g) { }

Avec ça, tu dessine au dessus de ce qu'il y avait déjà.

Minimus.
2 Novembre 2011 11:15:55

Redéfini la méthode repaint();
La tu change les coordonnées et tu recharge la fenêtre alors évidemment il repaint ta fenêtre avec les nouvelles coordonnées.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS