Probleme avec des dessins

CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007 - 15 févr. 2004 à 10:36
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 16 févr. 2004 à 22:40
Bonjour
Quand je lance mon programme il dessine mais quand je met une autre fenetre style Outlook ou autre audecu et que je reviens sur la fenetre je ne vois plus il ne garde pas en memoire le dessin comment je dois faire ... Pourriez vous me dire qu'es ce que je dois ajouter dans mon code pour que cela fonctionne ?
Merci

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class xxx5
{

static int LigneVertical = 0;
static int LigneVerticalnbre1 = 20;
static int LigneVerticalnbre2 = 20;
static int LigneFiniVertical = 0;

static int LigneHorizontal = 0;
static int LigneHorizontalnbre1 = 20;
static int LigneHorizontalnbre2 = 20;
static int LigneFiniHorizontal = 0;

public static void main (String [] args)
{
final JPanel Panel_Princ = new JPanel(new GridLayout(2,1,5,5));
final JPanel Panel_Dessin = new JPanel(null);
final JPanel Panel_Button = new JPanel(null);

JButton Button_Run = new JButton("RUN");
Button_Run.setBounds(15,20,50,25);
Button_Run.addActionListener(new ActionListener()
{

 public void actionPerformed(ActionEvent e)
 {

final Graphics dessin = Panel_Dessin.getGraphics();

while(LigneFiniVertical <= 27)
{
dessin.drawLine(LigneVerticalnbre1,20,LigneVerticalnbre2,210);
LigneVerticalnbre1 = LigneVerticalnbre1 + 10;
LigneVerticalnbre2 = LigneVerticalnbre2 + 10;
LigneFiniVertical = LigneFiniVertical + 1;

}

while(LigneFiniHorizontal <= 19)
{
dessin.drawLine(20,LigneHorizontalnbre1,290,LigneHorizontalnbre2);
LigneHorizontalnbre1 = LigneHorizontalnbre1 + 10;
LigneHorizontalnbre2 = LigneHorizontalnbre2 + 10;
LigneFiniHorizontal = LigneFiniHorizontal + 1;
}
 }
});

Panel_Button.add(Button_Run);
Panel_Button.setBorder(BorderFactory.createTitledBorder("Button_RUN"));

Panel_Dessin.setBorder(BorderFactory.createTitledBorder("Dessin"));

Panel_Princ.add(Panel_Dessin);
Panel_Princ.add(Panel_Button);

JFrame Frame_Princ = new JFrame("HELLO");
Frame_Princ.setBounds(10,10,500,500);
Frame_Princ.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Frame_Princ.setResizable(false);
Frame_Princ.getContentPane().add(Panel_Princ);
Frame_Princ.setVisible(true);
}

}


Merci de votre aide

11 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
15 févr. 2004 à 11:24
:big) Neodante :big)

Surcharge tu les méthodes paint() et update() ou appels-tu repaint() ....
@+

[Responsable www.neogamedev.com]
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
15 févr. 2004 à 11:25
:big) Neodante :big)

En gros ne dessine tu pas n'importe où dans ton code ...
@+

[Responsable www.neogamedev.com]
0
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007
15 févr. 2004 à 11:29
salut Neodante

quand je clique sur button je crée "Graphics dessin = Panel_Dessin.getGraphics();" et en suite (toujours dans l'action du button) il dessine les lignes donc oui je crois ke je dessine n'importe ou dans mon code ... comment régler le probleme ?

Merci de ton aide et de ta reponse
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
15 févr. 2004 à 17:10
:big) Neodante :big)

Il va te falloir mettre ton code de 'dessin' dans la méthode pain(Graphics) à condition d'hériter ta classe d'un objet Frame ou JFrame ... regarde la javadoc et le mécanisme de rafraichissement de AWT/Swing ....
@+

[Responsable www.neogamedev.com]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
15 févr. 2004 à 23:29
GodConan :clown)

en fait la tu ne dessine pas vraiment n importe ou ...
tu dessine ds le panel que tu met ds ta frame mais le prob c que qd la frame recoi un event de repaint ;o) elle ne fait que se redessiner comme elle se connai c a dire avec un panel vide ...

dc comme le conseil Neodante il te faut surcharger les methode de maj graphic de ton panel soit en surcharge a l intanciation soit en surcharge d heritage.. ;o)
en gros faire de la programation Objet ;o) et n utiliser la methode "main" que comme un point d entrer pour instantier ta class principale... je pense que tu devrait trouver asser d exemple sur ce site, sur la facon de faire un prog en java ;o) ...

GL

++
0
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007
16 févr. 2004 à 16:24
Salut GodConan et Neodante

Merci de vos reponses je vais essaye de trouver mais je suis toujours un débutant et vu que je n'ai pas beaucoup de temps libre je ne sais pas beaucoup avancé :'(

Encore Merci

@+

CHKDSK2K
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
16 févr. 2004 à 17:04
:big) Neodante :big)

En gros regarde les sources de programme simple sur le site, tu devrais pouvoir comprendre (les bases du moins vu la grandeur de Swing/AWT ...) du mécanisme !
@+

[Responsable www.neogamedev.com]
0
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007
16 févr. 2004 à 17:17
s'est ce que j'essaye de faire mais bon j'ai plusieurs source et s'est pas des plus simple a comprendre lol :'(

@+
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
16 févr. 2004 à 19:33
GodConan :clown)

si j y pense j enverai ;o) 2 3 ptt frame que g faite pour un pote.. ;o) i a pas plus simple....
0
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007
16 févr. 2004 à 19:49
re Salut GodConan

soit tu l'envois sur le site ? soit je te donne mon adresse personnel CHKDSK2000 AT LAPOSTE.NET

car cela m'aiderait beaucoup Merci :)

@+
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
16 févr. 2004 à 22:40
GodConan :clown)

je poste sur le site un sample de base pour l utilisation d un d un offscreen que javai fait pour un pote ;o) il n i a pas plus simple ....
pis apres ;o) si tu bute encor pose des questions....

;o)

a vi ;o) si je tenvoi sa comme sample c aussi que cela devrai corespondre a t besoin ;o) car l avantage de dessiner tout ds une image ;o) c que tu peu rafraichir ta fenetre nimporte qd ;o)... sans avoir a memo toute les action de dessin...

gl

++
0
Rejoignez-nous