Rechercher : dans
Par :

Méthode repaint() dans java

Dernière réponse le 25 oct 2007 à 22:42:04 LeLaulau, le 20 mar 2002 à 13:32:59 
 Signaler ce message aux modérateurs

Est ce que quelqu'un peut me dire pourquoi la méthode repaint() de awt.Component a du mal à marcher...
Quand je l'appelle il ne se passe rien.

Plus concrètement, j'ai un graphique dans une fenêtre, quand je redimensionne la fenêtre je voudrais l'obliger à se redessiner...

Merci

Meilleures réponses pour « méthode repaint() dans java » dans :
Le mot-clé static ou les attributs et méthodes de classe en POO Voir(NOTE: Cet article explique la signification du mot-clé static au sein d'une classe. La signification de "static" en C n'a par exemple rien à voir.) Vous êtes débutant en programmation orientée objet. En Java, en C++...ou que sais-je encore,...
Java: Les méthodes VoirLa notion de fonction et de méthode On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs...
Introduction à RMI (Remote Method Invocation) VoirIntroduction à RMI RMI (Remote Method Invocation) est une API Java permettant de manipuler des objets distants (c'est-à-dire un objet instancié sur une autre machine virtuelle, éventuellement sur une autre machine du réseau) de manière...
Java - L'API JDBC VoirIntroduction à JDBC La technologie JDBC (Java DataBase Connectivity) est un ensemble de classes permettant de développer des applications capables de se connecter à des serveurs de bases de données (SGBD). L'accès aux bases de données avec...

1

huboule, le 20 mar 2002 à 18:51:19

Peux tu nous montrer ton code ce sera plus facile pour t'aider ...

Répondre à huboule

2

LeLaulau, le 20 mar 2002 à 20:13:38

Le bout de code est le suivant:


void db_mousePressed(MouseEvent e) {

PointGraphique p = db.convertirKelvin(new Point(e.getX(), e.getY()));
afficheEcranAnalyse(p.x);

}


void afficheEcranAnalyse(double compo){
try{
AnalyseThermique at = new AnalyseThermique(db.traceAnalyse(compo));
this.setSize((int)(largeurEcran*0.65), (int)(hauteurEcran*0.65));
this.setLocation((int)(largeurEcran*0.35),(int)(hauteurEcran­*0.15));
this.repaint();
f.removeAll();
f.add(at);
f.setSize((int)(largeurEcran*0.35), (int)(hauteurEcran*0.65));
f.setLocation(0,(int)(hauteurEcran*0.15));
f.show();
}
catch (Exception ex){
}
}


il s'agit (this) d'un classe qui hérite de Frame.
Dedans il y a principalement un diagramme binaire nommé db qui est extends Canvas.
f c'est juste un Frame tout con.
PointGraphique c'est juste une classe que j'ai faite parceque je n'arrivais pas à me servir de la classe Point.Double (si d'ailleurs tu sais pourquoi...j'ai l'impression qui comprend pas le point, ce qui paraîtrais normal)


voilà
si tu veux je peux même tout t'envoyer...(sauf qu'avec la base de donnée ça fait gros :)

Répondre à LeLaulau

3

hub, le 21 mar 2002 à 15:11:19

Deux précisions

1. c'est un Frame ou JFrame?
2. c'est quoi " f " ?

hub
"Pas plus bas qu'au fond"

Répondre à hub

4

Peguinette, le 21 mar 2002 à 15:42:24

J'ai déjà eu ce problème !!

En fait j'ai constater que lorsque tu appelles la methode repaint d'un component, celui-ci est bien repainté mais les components qui sont posé dessus ne sont pas repainter.

Pour pallier à ce problème, j'ai surcharger la methode repaint dans chacun des components qui possedait d'autres components.

public void repaint()
{
// repaint le component courant
super.repaint();
//repaint tous les components qu'il possède
for(int i = 0; i < elements.size(); i++)
((Component)(elements.elementAt(i))).repaint();
}

elements est vector et à chaque fois que j'add un component sur celui-ci, je l'ajoute au vector
De cette manière je force mon component courant à repainter les components qu'il possède.

ET CA marche tres bien !!!


---------
Peguinette

Répondre à Peguinette

5

elnico, le 26 avr 2007 à 13:21:05
  • +2

Public void repaint()
{
// repaint le component courant
super.repaint();
// repaint tous les components qu'il possède
for(int i = 0; i < this.countComponents(); i++)
this.getComponent(i).repaint();
}

c'est mieux non?

Répondre à elnico

6

 dahdah, le 25 oct 2007 à 22:42:04

Elnico, dernier message a presque 6ans..Je pense qu'il a résolu son problème depuis.

Répondre à dahdah
Collection CommentÇaMarche.net