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 :

appel d'une autre frame à partir d'une autre classe


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut appel d'une autre frame à partir d'une autre classe
    bonjour à tous

    j'ai une classe avec une frame et à partir de cette classe, j'en appelle une autre qui comprends elle meme une autre frame.
    je n'avais pas de problème à mon école mais chez moi, la 2eme frame ne s'affiche pas.
    je vous montre mon code :
    la 1ere classe qui appelle la 2eme :
    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
     
    public class ClasseDD implements ActionListener 
    {
    	Frame1 ff = new Frame1();
     
    	Frame f;
    	Panel pan;
    	Label lnom, lprenom;
    	TextField tnom, tprenom;
    	Button but;
    	GridLayout grid;
     
     
    	public ClasseDD()
    	{
    		f = new Frame ("hello");
    		f.setSize (300,100);
    		f.setVisible(true);
     
    ........
    et la 2eme classe nommée Frame1
    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
     
    public class Frame1 {
     
     
    	Frame frame;
    	Label lab;
     
     
     
    	public Frame1()
    	{
    		frame = new Frame("hehe");
    		frame.setSize(300,300);
    		frame.setVisible(true);
     
    		}
    }

    quelqu'un pourrait il m'aider?
    se serait sympa car je ne comprends pas pourquoi ça ne marche pas chez moi..

    merci beaucoup

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Points : 160
    Points
    160
    Par défaut
    Tout ce que je peu dire c'est que la portion de code que tu as montrée ne présente pas d'erreure.

    normalement si dans ton main tu instancie la classe **DD avec le constructeur que tu as présenté ca doit bien marcher.

  3. #3
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 55
    Points
    55
    Par défaut
    tu peut posté le code de tes deux classes

  4. #4
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Points : 55
    Points
    55
    Par défaut
    normallement ton code est correcte

  5. #5
    Membre averti Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Points : 414
    Points
    414
    Par défaut
    je n'avais pas de problème à mon école mais chez moi, la 2eme frame ne s'affiche pas.
    ta deuxième fenetre ne s'affiche pas ok. est-ce que ton applic est freezée (causé par exemple deux threads inter-bloqués) ?
    Un peu de code permettant de reproduire le problème ne serait pas de trop
    auteur de Awl (http://awl-wizard.sourceforge.net), librairie de développement d'assistant en Java.
    auteur de Blackdog (http://www.blackdog-project.org), lecteur/gestionnaire audio en Java.

  6. #6
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    re

    alors voici la 1ere classe :
    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
     
     
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    public class ClasseDD implements ActionListener 
    {
    	Frame1 ff = new Frame1();
     
    	Frame f;
    	Panel pan;
    	Label lnom, lprenom;
    	TextField tnom, tprenom;
    	Button but;
    	GridLayout grid;
     
     
    	public ClasseDD()
    	{
    		f = new Frame ("hello");
    		f.setSize (300,100);
    		f.setVisible(true);
     
     
     
    		pan = new Panel();
    		grid = new GridLayout(3,2);
    		pan.setLayout(grid);
    		lnom = new Label("nom");
    		tnom = new TextField();
    		lprenom = new Label("prenom");
    		tprenom = new TextField();
    		but = new Button("go");
     
    		pan.add(lnom);
    		pan.add(tnom);
    		pan.add(lprenom);
    		pan.add(tprenom);
    		pan.add(but);
    		but.addActionListener(this);
     
    		f.add(pan);
     
    	}
     
    	public void actionPerformed (ActionEvent e)
    	{
    		if (e.getSource().equals(but))
    				{
    			ConnexionBdd cb = new ConnexionBdd();
    			Statement stmt = cb.stat();
     
     
     
    			 try {
    				 ResultSet resultat; 
     
    				resultat = stmt.executeQuery( 
    				 "SELECT nom FROM fl" );
     
    				 while (resultat.next()) { 
    			            String nom = resultat.getString("nom"); 
    			            System.out.println(nom);
     
    			            Frame1 fff = new Frame1();
    			            Label labb = fff.l();
    			            labb.setText(nom);
     
     
    			          } 
     
    			} catch (SQLException e1) {
     
    				e1.printStackTrace();
    			} 
     
     
     
    				}
    	}
     
     
     
    	public static void main (String args[])
    	{
    		ClasseDD cbb = new ClasseDD();
    	}
     
     
    }
    et la 2eme
    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
    import java.awt.Frame;
    import java.awt.Label;
     
     
    public class Frame1 {
     
     
    	Frame frame;
    	Label lab;
     
     
     
    	public Frame1()
    	{
    		frame = new Frame("hehe");
    		frame.setSize(300,300);
    		frame.setVisible(true);
     
    		}
     
    	public Label l()
    	{
    		lab = new Label("blabla");
    		frame.add(lab);
     
    		return lab;
    	}
     
     
     
     
     
    }
    merci encore

  7. #7
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Points : 160
    Points
    160
    Par défaut
    Je pense que ton application se bloque, attention je voi des import sql ....

    Si tu te connecte a une bdd au lancement de ton programme, ca peu ne pas marcher chez toi ... vérifie plutot ce point en metant en commentaire la partie du code decelenché par l'event listener

  8. #8
    Membre actif Avatar de Belegkarnil
    Inscrit en
    Juin 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juin 2005
    Messages : 289
    Points : 205
    Points
    205
    Par défaut
    Chez moi j'ai bien les 2 fenêtres qui s'ouvrent. Mais pour compiler j'ai du changer les deux lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //ConnexionBdd cb = new ConnexionBdd();
    Statement stmt = null;//cb.stat();
    Donc il y a sans doute un problème avec ConnexionBdd. Est-ce que l'on pourrait voir le code de cette classe? C'est sans doute elle qui n'arrive pas à se connecter et boucle ce qui pose problème aux Threads de la GUI.

  9. #9
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    non mais le truc est que les deux fenetres doivent s'ouvrir automatiquemet lorsque je lance sous eclipse et non après un clique sur bouton

  10. #10
    Membre actif Avatar de Belegkarnil
    Inscrit en
    Juin 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juin 2005
    Messages : 289
    Points : 205
    Points
    205
    Par défaut
    Oui, je ne clique sur rien. Tu dois avoir des variables de classe qui apellent des fonctions ou quelque chose comme ca dans connexionBdd

  11. #11
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    ah ok

    la voici :
    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
     
    public class ConnexionBdd 
     
    {
     
    	//1 classe de connexion
     
     
     
     
    	public Statement stat() 
    	{
    		String pilote = "org.gjt.mm.mysql.Driver";
    		String url ="jdbc:mysql://localhost/films";
     
    		Connection conn;
    		Statement stmt = null;
     
    			try {
    				Class.forName(pilote);
    			} catch (ClassNotFoundException e) {
     
    				e.printStackTrace();
    			}
     
    			try 
    			{
     
    			conn = DriverManager.getConnection(url,"agh","hihu");
    			stmt = conn.createStatement(); 
     
    		}
     
    		catch ( SQLException E)
    		  {
    		  	System.out.println("SQLException: " + E.getMessage());
     
     
    		  }
    		return(stmt);
     
     
    	}
    }

  12. #12
    Membre actif Avatar de Belegkarnil
    Inscrit en
    Juin 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juin 2005
    Messages : 289
    Points : 205
    Points
    205
    Par défaut
    Ca fonctionne aussi chez moi même avec cette classe. Je n'utilise pas Eclipse mais un simple éditeur de texte et je compile avec "javac *.java" et je lance avec "java ClasseDD". Essaye de compiler et lancer mais pas par Eclipse.

    Les deux fenêtres que j'ai sont : "hehe" et "hello"
    J'utilise la version 1.6 de java

  13. #13
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    ça marche chez tt le monde, à mon ecole mais sauf chez moi...

  14. #14
    Membre actif Avatar de Belegkarnil
    Inscrit en
    Juin 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juin 2005
    Messages : 289
    Points : 205
    Points
    205
    Par défaut
    Ca doit être frustrant lol
    Essaye de réinstaller Eclipse, ou simplement le JDK de SUN et de compiler et lancer en ligne de commandes.

  15. #15
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    ba ouais carement frustrant lol

    bon je vais re dl eclipse, je verrai bien et je vous tiens au courant

  16. #16
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 256
    Points : 90
    Points
    90
    Par défaut reponse
    bonsoir je pense que doit créer d'abord l'object de la deuxiéme frame dans la premiere les deux classe doit etre dans le même paquetage une classe public frame 1 et l'autre n'est pas publique

    dans la premiére classe tu créer l'object frame2= new classe2();

    puis frame2.setvisible=true;



    bon courage

  17. #17
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    merci adel pour ta reponse

    bon j'ai installé la derniere version d'eclipse 3.3.1.1 et là ça marche ..
    j'en été encore à l'ancienne..
    et là tout baigne!!
    merci à tous ceux qui ont voulu m'aidé !!!

    j'ai une dernière question, j'ai plus les boutons permettant d'arreter le prog (le carré rouge, la croix et la double croix) bouuuuu vous ne savez pas où est ce que je peux trouver ?

  18. #18
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    bon ba je suis obligé d'utilisé un extends JFrame afin de pouvoir fermer mes frames..
    enfin je vais vers la facilité au lieu d'uiliser des window closing etc

    m'enfin mon probleme, certe HS, est toujours là...

  19. #19
    Membre actif Avatar de Belegkarnil
    Inscrit en
    Juin 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juin 2005
    Messages : 289
    Points : 205
    Points
    205
    Par défaut
    Cherche dans le menu affichage (je connais Eclipse que de nom...) mais ce qu'il serait bien c'est de mettre dans ton programme à ta fenetre principale un setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    ;-)

Discussions similaires

  1. accéder au body d'un frame à partir d'un autre frame
    Par ramroum1986 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/10/2011, 14h21
  2. Réponses: 4
    Dernier message: 10/10/2010, 11h46
  3. Réponses: 2
    Dernier message: 05/03/2010, 14h15
  4. Réponses: 6
    Dernier message: 27/10/2005, 21h12
  5. Rafraichissement d'une frame à partir d'une autre
    Par VinceTlse dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/08/2005, 11h18

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