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

NetBeans Java Discussion :

comment modifier le constructeur par défaut


Sujet :

NetBeans Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut comment modifier le constructeur par défaut
    Bonjour ,

    Je viens à vous pour un problème qui me gâche mon week end.
    Voilà j'ai besoin d'afficher une fenetre Jdialog
    Voilà le constructeur de ma fenetre (généré par netbeans)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public InfoLicence(javax.swing.JDialog parent, boolean modal) {
            super(parent, modal);
     
            try {
                initComponents();


    et là ça marche .

    Je me suis dit qu'il aurait été intéssant dans mon cas de rajouter
    un troisième argument un String et là ca va plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     public InfoLicence(javax.swing.JDialog parent, boolean modal,String licence) {
            super(parent, modal);
            this.licence = licence ;
            try {
                initComponents();

    Je précise que je travaille sous netbeans et que net beans utilise un main comme ci dessous
    et mon problème vient de la ligne en gras.En gros le compilateur me demande un constructeur
    à 3 arguments.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    InfoLicence dialog = new InfoLicence(new javax.swing.JDialog(), true);                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                        public void windowClosing(java.awt.event.WindowEvent e) {
                            System.exit(0);
                        }
                    });
                    dialog.setVisible(true);
                }
            });
        }
    question bête : à quoi sert ce main : c'est pour l'aperçu ?

    Que dois je faire ?? j'ai bien essayé de rajouter un String dans le main mais il me demande une variable static.
    Merci de votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    le main c'est le point d'entrée de ton programme, pas de main pad d'éxécution de programme.

    pour le constructeur dans la classe tu l'as modifié ( trois arguments) et au moment de la construction dans le main tu utilises un constructeur avec deux arguments ( qui n'éxiste pas)

    c'est ce que j'ai compris je ne suis qu'un débutant en java tu test et tu vois si ça marche

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    Merci pour la réponse.
    J'aimerai savoir comment fonctionne NetBeans.
    Im me semble que le code suivant lance un thread est ce que vous pouvez
    m'en expliquer un peu plus.Ce thread est il obligatoire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    InfoLicence dialog = new InfoLicence(new javax.swing.JDialog(), true);                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                        public void windowClosing(java.awt.event.WindowEvent e) {
                            System.exit(0);
                        }
                    });
                    dialog.setVisible(true);
                }
            });
        }
    J'èspère que vous pourrez m'éclairer.

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 641
    Points
    7 641
    Par défaut
    Salut,

    Citation Envoyé par une_tite_question Voir le message
    Je me suis dit qu'il aurait été intéssant dans mon cas de rajouter
    un troisième argument un String et là ca va plus.
    [...]
    En gros le compilateur me demande un constructeur
    à 3 arguments.
    Comme l'a dit Melaba, tu as défini un constructeur à 3 arguments, tu en appelles un à 2 arguments, Netbeans te fait juste judicieusement remarquer que tu n'es pas cohérent dans ce que tu veux

    Citation Envoyé par une_tite_question Voir le message
    question bête : à quoi sert ce main : c'est pour l'aperçu ?
    Cf réponse de Melaba.
    C'est le main par défaut tel que défini dans le template...
    Rien ne t'empêche de le modifier...

    Citation Envoyé par une_tite_question Voir le message
    Que dois je faire ?? j'ai bien essayé de rajouter un String dans le main mais il me demande une variable static.
    Tu rajoutes un String dans le main, vu qu'il lui faut 3 arguments.
    Pour le static, montre-nous comment tu as fait...

    Citation Envoyé par une_tite_question Voir le message
    J'aimerai savoir comment fonctionne NetBeans.
    Ce n'est pas du fonctionnement de Netbeans, c'est du fonctionnement de Java... de Swing plus précisément...

    Citation Envoyé par une_tite_question Voir le message
    Im me semble que le code suivant lance un thread est ce que vous pouvez
    m'en expliquer un peu plus.Ce thread est il obligatoire...
    Il ne lance pas un thread, il lance la commande spécifiée sur l'EDT (Event Dispatch Thread). Elle sera exécutée quand ça sera son tour, et ça permet de ne pas bloquer le thread principal. Comme ça il peut faire autre chose en attendant.
    Il n'est pas obligatoire, mais est fortement conseillé.
    Tu peux lancer l'ouverture de ta fenêtre directement... pour ta JDialog ça ne devrait pas trop gêner... mais le jour où tu as une usine à gaz... et que ça freeze... ben tu sauras pourquoi
    Tu as plein de doc sur Google sur le sujet...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    Bonjour ,

    Il ne lance pas un thread, il lance la commande spécifiée sur l'EDT (Event Dispatch Thread). Elle sera exécutée quand ça sera son tour, et ça permet de ne pas bloquer le thread principal. Comme ça il peut faire autre chose en attendant.
    Je ne connaissais pas l'existence de l'EDT (sauf sur les messages d'erreur) si tu as une adresse intéressante sur un tuto,je suis preneur.

    Comment font les "vrais programmeurs" dans la vraie vie ??

  6. #6
    Membre régulier Avatar de fatypunk
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 71
    Points : 74
    Points
    74
    Par défaut
    Petite remarque : Netbeans utilise des template pour le code généré à la création d'un JFrame ou d'un JDialog qui contient toujours une méthode main(), cette méthode sert de point d'entrée à ton programme. Si ta fenêtre n'est pas la fenêtre principale du programme et que tu n'a pas besoin de pouvoir lancer cette fenêtre comme une application indépendante tu peux virer la méthode main() et son contenu.

    Personnellement dans mes projet Netbeans j'ai viré les méthode main() des templates, car je préfère créer une classe à part qui ne contient que le méthode main().
    Développeur Java SE, Java EE (EJB3)
    IDE : Netbeans 6.5 / Serveur d'application : Glassfish v2.1 / OS : Ubuntu 8.10 Intrepid Ibex et CentOS 5
    Historique : GWBasic, Turbo Pascal (beaucoup), Visual Basic, C (un peu), C++ (beaucoup), Assembleur (6800 et x86 / un peu), Java, Smalltalk (un peu), Lisp (un peu), Prolog (un peu), PHP, Ruby (un peu), et retour à Java (beaucoup).

    Pas de questions techniques par MP s'il vous plait !

  7. #7
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par une_tite_question Voir le message
    Je ne connaissais pas l'existence de l'EDT (sauf sur les messages d'erreur) si tu as une adresse intéressante sur un tuto,je suis preneur.
    Un tuto sur l'EDT?
    Tu as ça, ou ça pour commencer sur le site... ensuite, google... ou direct chez Sun...


    Citation Envoyé par une_tite_question Voir le message
    Comment font les "vrais programmeurs" dans la vraie vie ??
    Ben Netbeans a été développé par de "vrais programmeurs", donc tu as ta réponse
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

Discussions similaires

  1. Comment modifier le curseur par défaut de l'application
    Par homeostasie dans le forum Visual C++
    Réponses: 2
    Dernier message: 28/06/2007, 16h56
  2. Comment modifier l'utilisateur par défaut au démarrage de XP SP2 ?
    Par zemeilleurofgreg dans le forum Windows XP
    Réponses: 8
    Dernier message: 13/09/2006, 23h56
  3. Réponses: 4
    Dernier message: 04/10/2005, 00h07

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