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

Langage Java Discussion :

Instance et Static


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de kedare
    Homme Profil pro
    SRE
    Inscrit en
    Juillet 2005
    Messages
    1 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : SRE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 549
    Par défaut Instance et Static
    Salut !
    je suis un tutorial sur swing, mais j'ai un probleme au niveau des static , je fait comme ceci :

    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
    /*
     * Main.java
     *
     * Created on 1 décembre 2006, 00:30
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
     
    package swingui1;
     
    import java.awt.*;
    import javax.swing.*;
    import swingui1.*;
     
    /**
     *
     * @author kedare
     */
    public class Main {
     
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            JFrame f = new JFrame();
            f.setGlassPane(new MyGlassPane());
        }
     
        class MyGlassPane extends JComponent {
            protected void paintComponent(Graphics g) {
     
            }
     
        }
     
    }
    mais il veut pas d'instance dans la methode main ... que faire ? :/
    merci

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par kedare
    Salut !
    je suis un tutorial sur swing, mais j'ai un probleme au niveau des static , je fait comme ceci :

    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
    /*
     * Main.java
     *
     * Created on 1 décembre 2006, 00:30
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
     
    package swingui1;
     
    import java.awt.*;
    import javax.swing.*;
    import swingui1.*;
     
    /**
     *
     * @author kedare
     */
    public class Main {
     
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            JFrame f = new JFrame();
            f.setGlassPane(new MyGlassPane());
        }
     
        class MyGlassPane extends JComponent {
            protected void paintComponent(Graphics g) {
     
            }
     
        }
     
    }
    mais il veut pas d'instance dans la methode main ... que faire ? :/
    merci
    Si tu tiens à faire ça ainsi, il faut que tu déclares ta classe MyGlassPane en static, mais c'est pas terrible...

    Moi ce que je fais tout le temps, c'est que le main instancie juste l'interface principale, et c'est ensuite l'interface principale (donc une classe non statique) qui se charge de faire tout le boulot d'instanciation.

  3. #3
    Membre extrêmement actif
    Avatar de kedare
    Homme Profil pro
    SRE
    Inscrit en
    Juillet 2005
    Messages
    1 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : SRE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 549
    Par défaut
    heu .. c'est a dire ? :p

  4. #4
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Désolé, j'ai pas été très clair

    Moi je fais quelque chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Main {
        public static void main(String[] args) {
            MyFrame f = new MyFrame();
            f.setVisible(true);
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class MyFrame extends JFrame(){
        public MyFrame(){
            super();
     
            //Constructions de l'interface graphique
            this.setGlassPane(new MyGlassPane());
        }
    }
    Ensuite, tu peut mettre ta class MyGlassPane soit en classe interface de MyFrame soit dans une classe à part

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 94
    Par défaut
    Dans ton code il y a qq chose qui ne va pas de toute façon kedare, soit ta classe interne tu veux la rattacher à la classe Main mais dans ce cas il faut la mettre en static.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    static class MyGlassPane extends JComponent {
            protected void paintComponent(Graphics g) {
                ...
            } 
    }
    Soit tu veux la rattacher à un Objet Main mais dans ce cas il faut évidemment que tu crées un Object de type Main.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static void main(String[] args) {
            JFrame f = new JFrame();
            f.setGlassPane(new Main().new MyGlassPane());
    }

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/11/2009, 11h36
  2. Class static = instance unique ?
    Par maa dans le forum C#
    Réponses: 36
    Dernier message: 30/09/2007, 00h46
  3. Réponses: 4
    Dernier message: 27/07/2007, 20h34
  4. Réponses: 20
    Dernier message: 21/06/2006, 20h44
  5. Réponses: 3
    Dernier message: 28/11/2005, 12h15

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