[Debutant]besoin d'aide pour dessiner dans un JPanel

besoin d'aide pour dessiner dans un JPanel [Debutant] - Java - Programmation

Marsh Posté le 31-10-2005 à 18:48:14    

Bonjour a tous!  
Voila jsui un piti peu debutant en java graphique et j'aurais besoin d'un petit coup de main.  
Tout d'abord j'ai creer une classe Fenetre dans laquelle j'ai creer une fonction creationMenu qui se charge de creer toute la barre de menu, puis une autre fonction creationPane qui fait :  
Code:  
public Container creationPane() {  
           
        //Creation du panel  
        JPanel pane = new JPanel(new BorderLayout());  
        pane.setOpaque(true);  
        return pane;  
    }  
 
 
puis dans mon createAndShowGUI() j'ai juste creer une JFrame a laquelle j'ai ajouter le menu et le pane avec les 2 fonctions précédentes.  
Et enfin j'ai mon main qui fait la fonction run() qui appelle la createAndShowGui().  
Mon probleme est que j'aimerais pouvoir dessiner dans la fenetre des rectangle etc.. et donc j'ai essayer d'ecrire une fonction paint basique :  
Code:  
public void paint(Graphics crayon)  
{  
   crayon.setColor(Color.black); // selection de la couleur du crayon  
   crayon.drawLine(0,0,100,200);  
}  
 
mais j'ai rien qui apparait dans ma fenetre!?  
J'ai vu un peu de partout qu'il fallait creer un Canvas ou faire appel au applet mais moi je ne veu pas faire un applet et j'aimerais savoir cmt faire pour arriver a dessiner dans cette fenetre..  
 
Je m'excuse si le message est un peu long mais j'espère que vous pourrez m'aider a mieu comprendre le fonctionnement!  
Je vous en remercie d'avance  :)  :)  :)

Reply

Marsh Posté le 31-10-2005 à 18:48:14   

Reply

Marsh Posté le 31-10-2005 à 21:09:53    

J'ai trouver une solution pour pouvoir dessiner : c'est de creer une class ZoneDessin qui extends de Canvas! et ça marche!
Par contre le souci avc sa c'est que je n'arrive plus a acceder a mon menu dans ma barre de menu!J'ai vu dans un forum qui valait mieu que ma class ZoneDessin extends de JPanel mais qd je fais ça j'ai des bug graphique , mon menu s'ouvre mais qd il se ferme il reste des traces visible sur ma zone de dessin :(

Reply

Marsh Posté le 02-11-2005 à 15:28:06    

pigmee a écrit :

J'ai trouver une solution pour pouvoir dessiner : c'est de creer une class ZoneDessin qui extends de Canvas! et ça marche!
Par contre le souci avc sa c'est que je n'arrive plus a acceder a mon menu dans ma barre de menu!J'ai vu dans un forum qui valait mieu que ma class ZoneDessin extends de JPanel mais qd je fais ça j'ai des bug graphique , mon menu s'ouvre mais qd il se ferme il reste des traces visible sur ma zone de dessin :(


 
Salut,
c pas très clair ton truc:
tu crées un panel, puis tu dis que tu veux un Canvas et finalement tu as un repaint dans le Panel ????
 
Je n'ai pas mon code sous les yeux, mais de mémoire, tu dois faire comme ça:
créer un JFrame (c'est ça la fenêtre au sens windows)
créer un JPanel que tu attaches au JFrame (this.add() ou this.getContentqqch.add() )
créer un Canvas que tu attaches au Pane (ou directement à la Frame, je crois que ça marche aussi)
 
ton menu, tu dois l'attacher à la Frame
ton repaint il est dans ta classe Canvas, pas dans Panel
 
tu ne dois pas oublier à la fin de faire des :
panel.pack();
panel.show();
 


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 14-11-2005 à 14:44:16    

Place ton code dans paintComponent(Graphics crayon) et non paint(). N'utilise pas un Canvas, c'est un composant lourd, non Swing, qui te posera des problemes plus tard.


---------------
The Million Dollar Screenshot  (seo v7ndotcom elursrebmem paesys wifi)
Reply

Marsh Posté le 15-11-2005 à 10:13:08    

Pour reprendre
Tu fais une classe qui hérite de JPanel, et tu redéfinis la méthode  paintComponent(Graphics g) de cette classe.


---------------
get amaroK plugin
Reply

Sujets relatifs:

Leave a Replay

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