IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

probleme de mise ajour après un dessin


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 59
    Points
    59
    Par défaut probleme de mise ajour après un dessin
    Bonsoir tous le monde
    Je débute en java et je veux créer une petit application qui dessin un rectangle et un cercle selon le choix de l’utilisateur a travers 2 boutons
    Mon problème est que je la fenêtre ne se met pas a jours en temps réel il faut que je la redimensionne ou bien la réduire et en suite l’agrandir j’ai cherché sur le net j’ai trouvé la méthode repain qui faisait la mise a jours mais rien ne change
    voici des captures d'ecran qui montre mon pb



    et apres que je la reduit :




    voici mon code:


    classe paneau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    import java.awt.Color;
    import java.awt.Graphics;
     
    import javax.swing.JPanel;
     
    public class Paneau extends JPanel {
     
            private int etat = 0;
     
     
     
            public void paintComponent(Graphics g)
            {
            	super.paintComponents(g);
     
            if(etat==1)
            	g.drawOval(100, 50, 120, 60);
     
            if (etat==2)
            	g.drawRect(100, 50, 120, 60);
     
            }
     
            public void Rectangle()
            {
            	etat=2;
                repaint();
     
            }
     
            public void Cercle()
            {
            	etat=1;
                repaint();
     
            }
     
    }
    classe dessin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
     
    import java.awt.BasicStroke;
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.Graphics;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JPanel; 
    import javax.swing.JFrame;
     
     
    public class dessin {
     
            private Paneau pan1;
            private JButton b1,b2;
     
            public dessin()
     
            {
     
            	    JFrame fen=new JFrame();
            	    pan1 = new Paneau();
            	    pan2=new JPanel();
                    fen.setTitle("Dessin");
                    fen.setSize(400, 400);
                    fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    fen.setLocationRelativeTo(null);
                    fen.setVisible(true);
                    fen.setBackground(Color.BLACK);
                    pan1.setBackground(Color.YELLOW);
                    b1=new JButton("Rectangle");
                    b1.addActionListener(new ActionListener()
                    {
     
    					public void actionPerformed(ActionEvent e) {
    						pan1.Rectangle();
    						pan1.setBackground(Color.cyan);
    						pan1.repaint();
    					}
     
                    });
                    b2=new JButton("Cercle");
                    b2.addActionListener(new ActionListener()
                    {
     
    					public void actionPerformed(ActionEvent e) {
    						pan1.Cercle();
    						pan1.setBackground(Color.cyan);
    						pan1.repaint();
     
    					}
     
                    });
     
     
     
                    fen.add(b1,BorderLayout.NORTH);
                    fen.add(b2,BorderLayout.SOUTH);
     
     
                    fen.getContentPane().add(pan1);                
     
     
                    pan1.repaint();
            }
     
     
     
     
     
     
            public static void main(String[] args) {
            	dessin c=new dessin();
     
            }
    }

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 846
    Points : 22 851
    Points
    22 851
    Billets dans le blog
    51
    Par défaut
    Ahaha trouvé ! Tu appelles la mauvaise super méthode :

    paintComponents() => paintComponent() sans le s .
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 846
    Points : 22 851
    Points
    22 851
    Billets dans le blog
    51
    Par défaut
    J'ai édité mon message juste après l'avoir posté cause l'erreur est très subtile.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    merci bien pour ta reponce
    erreur idiote de ma part
    j'avais trouvé une autre solution je fait un repain a la fenêtre (a la place de pan1.repaint() je fais fen.repaint) mais ça redessiné toute la fenêtre

    merci encore pour la réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. un probleme du formulaire de mise ajour
    Par issam47 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/06/2007, 07h59
  2. Probleme requete mise ajour
    Par nabil_info1 dans le forum JDBC
    Réponses: 11
    Dernier message: 01/02/2007, 09h05
  3. mise ajour sousform apres utilisation combo box
    Par euromarc dans le forum Access
    Réponses: 3
    Dernier message: 04/07/2006, 16h06
  4. Probleme de mise ajour
    Par mael94420 dans le forum ASP
    Réponses: 5
    Dernier message: 15/06/2005, 10h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo