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 :

ouvrir une nouvelle fenêtre et y transférer une variable


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Points : 12
    Points
    12
    Par défaut ouvrir une nouvelle fenêtre et y transférer une variable
    bonjour
    j'ai un projet ou j'ouvre un fenêtre, j'ai des information général sur un jeune
    et je veux ouvrir une autre fenêtre pour des information plus précise par rapport à ce jeune ... il faut donc que j'envoi un variable qui me permette de retrouver dans l'autre page pour quel jeune il faut les information
    l'action du bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String VARIABLE = "robin";
    new Jeune_Mandat(VARIABLE).setVisible(true);
    this.setVisible(false);
    pour moi je pense que je dois mettre la variable à faire passer au niveau de "VARIABLE" mais je n'arrive pas à configurer la nouvelle fenêtre pour récupérer le code
    j'ai tenté de faire dans la fenêtre à ouvrir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Jeune_Mandat(String VARIABLE) { .... }
    mais il me met une erreure

    vous pouvez m'aider ?
    merci d'avance
    robin

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut
    Jeune_Mandat est bien une JFrame ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Points : 12
    Points
    12
    Par défaut dsl du retard
    dsl du retard
    oui Jeune_Mandat est une JFrame

  4. #4
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Bonjour,

    quelle erreur as-tu?
    est-ce une erreur de compilation? d'exécution?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    quand je met ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Jeune_Mandat(String njeune) { .... }
    et que je compile, il me montre une erreur (la partie en rouge) dans le void main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public static void main(String[] args) {
        new Jeune_Mandat();
    }
    et me site l'erreur suivante : cannot find symbol - constructor jeune_mandat()

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Jeune_Mandat(String njeune)
    ça c'est la définition de la classe "Jeune_Mandat"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public static void main(String[] args) {
        new Jeune_Mandat();
    }
    ça c'est un bout de code qui se trouve certainement dans ta classe "Jeune_Mandat"
    et qui avait probablement été généré automatiquement par ton IDE (Netbeans ?)
    AVANT que tu ne définisses String njeune comme paramètre de classe.

    Ce type de code permet de faire un test rapide de la classe

    Solution : mettre une valeur de test dans la méthode main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static void main(String[] args) {
        String monjeune = "arthur";
        new Jeune_Mandat(monjeune);
    }
    ce qui te permets de faire un test.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    je ne sais pas ce que signifi IDE bien que je pense que se soir le programme
    si c'est ça, moi je suis sur BlueJ sur conseil de mon prof

    donc en fait
    tout les codes que je vous ais passé je les met dans la classe Jeune_Mandat
    et le voir main c'est juste que c'est comme ça que le prof nous l'a montré
    je ne suis que depuis 2 mois sur se projet et disons que mes connaissance java son limité

    don je tente avec ce que je connais

    j'ai tenté avec le code mais j'ai encore une autre erreur, faut que je vous montre la structure de la page un peu plus en detail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Jeune_Mandat extends JFrame implements ActionListener, ListSelectionListener {
        String njeune = "12"; /* pour définit un njeune au début sans venir d'une autre page, c'était pour faire mes teste initial */
        
        DialogueBD bd_dialogue = new DialogueBD(); /* je crée un lien vers une class qui ne sert qu'à dialoguer avec la base de donné pour récupérer les information */
        private JList liste = new JList(bd_dialogue.afficher_mandat_jeune(njeune)); /* là déjà j'affiche le contenue d'une liste qui se refaire à se njeune c'est donc déjà là que j'ai besoin du njeune (le traitement se faire sur une autre page pour le dialogue avec la base de donnée)*/
        private JScrollPane frameliste = new JScrollPane(liste);
        ...
        public Jeune_Mandat() { 
            ... 
        }
        public static void main(String[] args) {
            new Jeune_Mandat();
        }
    }
    donc là déjà je force à valeur à 12 initialement
    j'ai tenté de faire ce que vous me dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        public Jeune_Mandat(String njeune) { 
            ... 
        }
        public static void main(String[] args) {
            String njeune="12";
            new Jeune_Mandat(njeune);
        }
    le souci c'est que je supprime de se fait le String njeune mis en rouge dans le premier code mais de se faire la liste ne sais plus se remplir au début
    donc il ne récupère pas la valeur du njeune

    si vous voulez le code complet de la page, n'hésitez pas

  8. #8
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut
    Si ton programme se résume à une seule classe "Jeune_Mandat"
    alors c'est la méthode "main" qui le déclenche et qui construit un nouvel objet "Jeune_Mandat" (cours élémentaire de Java)

    Donc, pour faire apparaître un JFrame à l'écran
    tout en lui passant un paramètre est bien de programmer comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        public Jeune_Mandat(String njeune) { // ceci est le constructeur appelé par la méthode main (plus bas)
            ... 
            ... // à ce stade njeune a la valeur "12" car c'est cette valeur qui a été passée par la méthode main
        }
        public static void main(String[] args) {  // cette méthode est TOUJOURS appelée en 1er
            new Jeune_Mandat("12").setVisible(true);  // ici on construit le JFrame et on le rend visible
        }

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    je n'ai eu qu'un cours très sommaire par montre prof avec des classes qu'il nous a passé, donc je ne connais pas bien les règles

    par contre ce que tu me dis, c'est dans le cas ou j'ouvre le programme à partir de Jeune_Mandat
    moi dans montre cas je suis dans Centre_Jeune, une page ou j'affiche des informations global du jeune et ensuite je clique sur un bouton qui est sensé ouvrir l'autre page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            if (e.getSource() == button_je_mandat) {
                new Jeune_Mandat().setVisible(true);
                this.setVisible(false);
            }
    et de plus je lui demande de transférer une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            if (e.getSource() == button_je_mandat) {
                String njeune = "12"; // ça c'est juste pour l'exemple
                new Jeune_Mandat(njeune).setVisible(true);
                this.setVisible(false);
            }
    et là on arrive à un ressemblance du code que tu met dans le main de Jeune_Mandat
    sachant que quand se serra fonctionnel, je n'ouvre jamais la classe Jeune_mandat directement, et je passe toujours par la page Centre_Jeune, ne devrais-je pas supprimer dans Jeune_Mandat le public static void main ?

    je suis désolé de ma non connaissance mais bon faire un projet en 2 mois + apprendre le langage (en sachant que j'ai d'autre cours à coté) je n'ai pas pu me permettre une étude approfondi de se langage et j'ai du faire avec les moyen du bord

  10. #10
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut
    Le code ci-dessous ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            if (e.getSource() == button_je_mandat) {
                new Jeune_Mandat().setVisible(true);
                this.setVisible(false);
            }
    Car il attend un paramètre String njeune.
    Donc à la compilation ça plante.

    Le bon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            if (e.getSource() == button_je_mandat) {
                String njeune = "12"; // ça c'est juste pour l'exemple
                new Jeune_Mandat(njeune).setVisible(true);
                this.setVisible(false);  // ne sert à rien car this désigne ici "Centre_Jeune" et NON  Jeune_Mandat
            }
    On approche de la solution

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    ça ne répond pas à ma question du void main dans Jeune_Mandat, je peux le supprimer celui là ? (sachant que cette page est lancé par le bouton développé précédament)

    là j'ai supprimé le void main dans Jeune_Mandat
    de l'autre coté le bouton est comme précédament
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            if (e.getSource() == button_je_mandat) {
                new Jeune_Mandat(njeune).setVisible(true);
                this.setVisible(false);
            }
    et dans Jeune_Mandat j'ai encore le même souci comme je charge la list directement dans la publique classe Jeune_Mandat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private JList liste = new JList(bd_dialogue.afficher_mandat_jeune(njeune));
    il ne récupère pas le njeune que je lui envoi
    ne faudrait il pas que je remplica la liste uniquement à partir du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Jeune_Mandat(String njeune) {
    pour qu'il reçoive bien le njeune ?

  12. #12
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void main dans Jeune_Mandat, je peux le supprimer celui là ?
    Oui tu peux le supprimer pour plus de clarté.

    Question suivante, njeune inaccessible dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private JList liste = new JList(bd_dialogue.afficher_mandat_jeune(njeune));
    Comme tu as écris private JList liste ...
    j'en conclu que tu l'as placé en dehors du constructeur probablement comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        private JList liste = new JList(bd_dialogue.afficher_mandat_jeune(njeune));
     
        public Jeune_Mandat(String njeune) { 
            ... 
        }
    Dans ce cas, njeune n'est utilisable qu'à l'intérieur de ce constructeur et donc liste ne peut pas l'utiliser.
    Tu es dans un problème de "visibilité" de variables (c'est très structuré en Java ...)

    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        private JList liste; // simple déclaration d'existence de la variable "liste"
     
        public Jeune_Mandat(String njeune) {    // dans le constructeur (entre les accolades) la variable "njeune" est ici utilisable.
            ... 
            // création effective de la variable (on appelle cela l'instanciation)
            liste = new JList(bd_dialogue.afficher_mandat_jeune(njeune));
        }

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    je vous remercie de votre aide
    ça fonctionne

    merci de votre patience à me répondre

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2012, 23h24
  2. [Débutant][HTML]Ouvrir le résultat d'un formulaire dans une nouvelle fenêtre
    Par virgul dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/09/2006, 12h26
  3. Ouvrir une nouvelle fentre en grand ?
    Par Sylk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/09/2005, 13h14
  4. Ouvrir un lien dans une nouvelle fenêtre
    Par Le Lézard dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/12/2004, 14h43
  5. [ShellExecute] ouvrir une nouvelle fenêtre ie
    Par sony351 dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/11/2004, 18h39

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