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 :

lien entre fenêtres


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut lien entre fenêtres
    Salut !
    J’ai deux fenêtres, chacune contient un bouton+actionperformed, j’exécute la première fenêtre puis je clique sur le bouton pour lancer la deuxième fenêtre, le code des deux boutons est comme suit :
    Fenêtre1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Int i=0 ;
    Bouton1.addActionListener(new ActionListener() {
    	public void actionPerformed(ActionEvent e) {
    	Fenetre2  fen2=Fenetre2();
    Fen2.setVisible(true);
    Fen2.pack();
    i++;
    	}
    	});
    Fenêtre2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Bouton2.addActionListener(new ActionListener() {
    	public void actionPerformed(ActionEvent e) {
    	System.out.println(“ I =”+i);
    	}
    	});
    Si je clique sur le bouton de la fenetre2 il affiche la valeur de i incrémenté à chaque fois mais malheureusement il affiche toujours i=0 ;
    Comment faire le lien entre les deux fenêtres pour l’incrémentation à chaque clique sur le bouton de la fenêtre?.
    Merci d’avance.

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Salut,

    dans ta 1ere fenêtre fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fenetre2 fen2 = Fenetre2(i);
    Et dans ta seconde fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private int i;
     
    // constructeur
    public Fenetre2(int i) {
         this.i = i;
    }

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    merci pour ta répense ,le programme fonctionne trés bien.
    mais si dans le bouton de la premiére fenétre j'execute une commade DOS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    try{
     
                        Runtime.getRuntime().exec("java Fenetre2");
                    }
                    catch(java.io.IOException e1) {
                        e1.printStackTrace();
                    }
    dans ce cas comment garder i (fene1 fen=new fene1(i)) ?
    merci encore une fois.

  4. #4
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Tu as des arguments dans ta méthode main il faut s'en servir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static void main(String args[])
    args est un tableau de String;

    Tu fait donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Runtime.getRuntime().exec("java Fenetre2 "+i);
    Et tu devrais retrouver cette valeur (en String) dans Fenetre2. Soit dans ce cas :


  5. #5
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    j'ai mis ce code dans la fenetre2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void main(String args[]){
     
     
     
    		int a = Integer.parseInt(args[0]);
    		fene1 fen=new fene1(a);
    		fen.setVisible(true);
    		fen.pack();}
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Runtime.getRuntime().exec("java Fenetre2"+i);
    dans l'actionperformed du bouton de la fenetre1
    mais malheuresement il affiche pas la deuxiéme fenêtre .
    STP, aidez moi je n'arrive pas à avancer

  6. #6
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    rectification c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String[] a = new String[1];
    a[0] = "coucou";
    Runtime.getRuntime().exec("java Fenetre2",a);
    Cela dit je n'ai jamais reussi a utilisé cette commande (exec) avec éclipse mais toujours en ligne de commande avec l'OS.

    Est-tu obliger de faire 2 appli différente ?

  7. #7
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    merci visiwi pour ton aide ,le programme fonctionne trés bien;
    pour le bouton de la fenêtre 1 on met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try{
     
                        Runtime.getRuntime().exec("java fene1 "+i);
                        //dispose();
                    }
                    catch(java.io.IOException e1) {
                        e1.printStackTrace();
                    }
     
     
     
    		i++;
    et pour la deuxiéme fenetre on met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void main(String args[]){
    	int i = Integer.parseInt(args[0]);
    		fene1 fen=new fene1(i);
    		fen.setVisible(true);
    		fen.pack();
     
     
     
    		}
    et tous ça grâce à toi visiwi , tu est formidable.
    merci et merci 1000 fois.

  8. #8
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    ravi d'avoir pu t'aider
    @+
    n'oubli pas d'indiquer résolu si c'est le cas.

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

Discussions similaires

  1. lien entre les fenêtres
    Par foufaa33 dans le forum Tkinter
    Réponses: 2
    Dernier message: 30/05/2011, 16h06
  2. Lien entre une fenêtre et l'aide associée
    Par cyr28 dans le forum C++
    Réponses: 1
    Dernier message: 12/05/2009, 10h34
  3. lien entre les table de paradox
    Par salim_intic1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/05/2004, 16h00
  4. Réponses: 3
    Dernier message: 11/04/2004, 01h05
  5. [debutant][servlet]lien entre formulaire et servlet
    Par omega dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 05/03/2004, 08h54

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