Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1534 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  affichage dessin

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

affichage dessin

n°1199759
Profil sup​primé
Posté le 14-09-2005 à 22:15:46  answer
 

Bonjour,
 
J'ai un frame ds laquelle j'ai un bouton et un jscrollpane avec a l'interieur un jpanel.En apuyant sur le bouton je voudrais afficher une ligne ds le jpanel.
 

Citation :

void dessine (Graphics g)  
                   {  
                       Graphics gc = getGraphics ();  
                       gc.drawLine(100, 100, 1000, 1000);  
                   
                     }


mais quand je redimensionne la fenetre ou je bouge le jscrollpane la ligne s'efface.J'ai regardé des anciens topics mais j'ai pas bien compris.

mood
Publicité
Posté le 14-09-2005 à 22:15:46  profilanswer
 

n°1199769
claque2000
GamerTag : claquos2000
Posté le 14-09-2005 à 22:35:36  profilanswer
 

Ca par exemple ça peut aider : http://java.sun.com/docs/books/tut [...] cepts.html. Ensuite, quand y'a des évènements de modification de la fenêtre, enfin toute notification de changement alors il faut repaint ...
 


---------------
Linux registered user #352556
n°1200034
jogrey
Posté le 15-09-2005 à 10:28:55  profilanswer
 

Si tu veux que ça s'affiche même pendant un deplacement, override paint :
 
 public void paint( Graphics g )
 {
  super.paint( g );
  g.drawLine( .....

n°1200117
Profil sup​primé
Posté le 15-09-2005 à 11:07:17  answer
 

N'oublie pas de surcharger getPreferredSize() pour le panel dans lequel tu dessines.

n°1200474
Profil sup​primé
Posté le 15-09-2005 à 15:10:46  answer
 

:hello: Merci pour vos réponses.
 
Voici ce que j'ai fait:
 

Citation :

public  void paint(Graphics g) {
         super.paint(g);
 
       Graphics gc =jPanel1.getGraphics();
 
              gc.drawLine(100,100,1000,1000);
 
 
             }


 
et pour ne rien effacer un écouteur d'évènement sur le jpanel:
 

Citation :

void jPanel1_componentMoved(ComponentEvent e) {
repaint();
  }


 
 

n°1200515
Profil sup​primé
Posté le 15-09-2005 à 15:40:45  answer
 

Une remarque : ok tu la taille de ton panel ne bouge pas. Si c'est pas le cas, utilise plutot des coordonnées relatives genre :  

Code :
  1. g.drawLine(this.getSize().width/10,this.getSize().height/10,this.getSize().width*9/10,this.getSize().height*9/10);


et puis tu surcharges la méthode getPreferredSize() de cette manière ( en supposant que ton panel sera toujours de 1000x1000 pixels ) :

Code :
  1. public Dimension getPreferredSize(){
  2. return new Dimension(1000,1000);
  3. }


Cette façon de faire est mieux, car portable d'une machine à une autre ( résolution écran, OS etc... ).

n°1200528
souk
Tourist
Posté le 15-09-2005 à 15:52:26  profilanswer
 

et on ne surcharge pas paint mais paintComponent en swing [:dawao]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  affichage dessin

 

Sujets relatifs
Forcer l'affichage durant un chargement de page php!affichage d'une applet [resolu]
Défaut d'affichage dans les images[CSS] Petit bug d'affichage sous IE maybe les float: en cause
Changer l'affichage d'une page lorsqu'un utilisateur se loggue=OSD= Affichage par dessus overlay (fenêtre DirectX / OpenGL)
Problemes d'affichage meta name.[Résolu] Pb affichage lors de la mise en ligne
Problème affichage news?Pb d'affichage
Plus de sujets relatifs à : affichage dessin


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR