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

Agents de placement/Fenêtres Java Discussion :

passer d'une jframe à une autre à partir d'un jbutton


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut passer d'une jframe à une autre à partir d'un jbutton
    Bonjour,
    J'ai crée une jframe "Projet" contenant un combobox, lorsque je l'execute le combobox est bien remplie par contre lorsque je passe d'une jframe " Acceuil" (contenant un button qui m'affiche fenêtre projet) le combobox est vide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Sans code, pas de réponse (ou plutôt des milliards possibles, donc pas possible de les mêmes toutes, ni d'en choisir une qui pourrait t'être hypothétiquement utile).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    Qu'est ce que je dois ajouter, tous ce que j'ai fait c'est
    Nom_de_maclase n = new Nom_de_maclasse();
    Nom_de_maclasse.setVisible(true);

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Normalement, ça devrait plutôt :

    Mais ça ne me dit pas comment tu crées et remplis la combo. Et quelles différences y a t-il entre la façon d'afficher directement la fenêtre (ce que tu appelles exécuter la frame "Projet") et celle qui passe par le bouton de l'autre frame.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    je veux créer un logiciel de gestion des clients et des projets donc j'ai créé plusieurs frames et des jbotton de chaque une pour pouvoir passer d'une jframe à autre
    et comme j'ai dis pour le combobox il est rempli uniquement lorsque j'execute directement la classe sans passer par l'autre classe
    ps: j'ai fait n.setVisible(true); je me suis trompée dans l'écriture

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Tu peux me dire tout ce que tu veux, me parler du fonctionnel, tout ça, sans code, je ne peux pas te donner de solution. Tu n'es pas obligé de me mettre toute l'application : un ECM est suffisant avec les éléments qui entrent en jeu (JFrame, JButton et JComBox).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    ça c'est dans jframe acceuil dans la quelle j'ai créé un objet de la classe 'Nouveau Client 'contenant un combobox

    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
     
    JPanel panel = new JPanel();
    		contentPane.add(panel, BorderLayout.CENTER);
    		panel.setLayout(null);
    		panel.setBackground(Color.WHITE);
     
    		JButton btnClient = new JButton("Nouveau client");
    		btnClient.setForeground(new Color(255, 255, 255));
    		btnClient.setFont(new Font("Tahoma", Font.BOLD, 15));
    		btnClient.setBackground(new Color(235,162,56));
    		btnClient.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
     
     
    				AJOUTER a=  new AJOUTER();
     
    				 a.setVisible(true);
     
    			}
     
     
    		});




    celui de la classe Nouveau Client
    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
     
    .....
     
    static JComboBox<String> comboBox_1= new JComboBox<String>();
    	static JComboBox<String>  comboBox = new JComboBox<String> ();
    	private JTextField datenaissance;
    	private JTextField adresse;
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					AJOUTER frame = new AJOUTER();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
     
    				Connection connection ;
    				Statement statement;
     
    					try {
    						try {
    							Class.forName("org.sqlite.JDBC");
    						} catch (ClassNotFoundException e) {
    							// TODO Auto-generated catch block
    							e.printStackTrace();
    						}
    						connection = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\tosiba\\eclipse-workspace\\training1\\src\\BDD.db");
    						statement= connection.createStatement();
    						ResultSet rs= statement.executeQuery("SELECT Nom_du_projet, Type_de_logements FROM Projet ");
    						while(rs.next()) {
     
    							comboBox.addItem(rs.getString("Nom_du_projet"));
    							comboBox_1.addItem(rs.getString("Type_de_logements"));
    							............
    public void actionPerformed(ActionEvent arg0) {
    				Connection connection;
    				PreparedStatement statement ;
    			      connection = null;
    			      try
    			      {
    			    	 try {
    						Class.forName("org.sqlite.JDBC");
    					} catch (ClassNotFoundException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    			    	 connection = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\tosiba\\eclipse-workspace\\training1\\src\\BDD.db");
     
     
    			 statement = connection.prepareStatement("INSERT INTO Client ( Nom , Prenom, Versement, Num , Nom_du_projet, idbloc , Date_de_versement ,Date_de_naissance ,  Adresse , Type_de_logement, N°_du_logement , Prix_du_logement) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)");
     
     
    			 String v = comboBox_1.getSelectedItem().toString();
     
    			 statement.setString(1, nom.getText());
    			 statement.setString(2, prenom.getText());
    			 statement.setString(3, versement.getText());
    			 statement.setString(4, num.getText());
    			 statement.setString(5,comboBox.getSelectedItem().toString());
    			 statement.setString(6,idbloc.getText());  .........

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Le problème vient probablement du fait que la variable comboBox_1 est static. Il vaut mieux éviter qu'un composant Swing soit static. Je ne peux pas connaître le fonctionnement global de ton programme puisque tu me montres que des extraits de code, mais si la combo est placée dans deux instances de Container dans la même session d'exécution, au final, elle ne pourra être que dans le dernier dans laquelle elle a été placée. En plus, ça favorise les possibilités de conflits, en particulier entre l'Event Dispatch Thread et d'autres threads.
    De manière générale, il faut éviter de faire des variables ou des méthodes statiques (seule la méthode main devrait l'être, instancier une classe et appeler ensuite que des méthodes non statiques (sauf pour des méthodes utilitaires éventuellement, dont le seul contexte est formé par ses paramètres, et pour des static final pour des constantes de fonctionnement).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    lorsque j'enléve le mot static j'ai une erreur ici

    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
     
    public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Projet frame = new Projet();
    					frame.setVisible(true);
     
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
     
     
    				Connection connection ;
    				java.sql.Statement statement;
     
    					try {
    						try {
    							Class.forName("org.sqlite.JDBC");
    						} catch (ClassNotFoundException e) {
    							// TODO Auto-generated catch block
    							e.printStackTrace();
    						}
    						connection = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\tosiba\\eclipse-workspace\\training1\\src\\BDD.db");
    						statement= connection.createStatement();
    						ResultSet rs= statement.executeQuery("SELECT Nom_du_projet FROM Projet ");
    						while(rs.next()) {
     
    							comboBox.addItem(rs.getString("Nom_du_projet")); // erreur est ici (Cannot make a static reference to the non-static field comboBox)
     
     
     
    						}

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    C'est normal, puisque tu ne peux pas accéder directement à un contexte non static depuis un contexte static. Il ne suffit pas d'enlever le statique, il faut revoir l'architecture de ton application.

    Par exemple, tu peux faire une classe avec une méthode static void fillProjectCombo(JComboBox<String> comboBox) qui fait la requête (il suffit de copier le code que tu as fait dedans), que tu appelles là où tu crées la combo, ou tu fais une méthode qui retourne un tableau, ou une liste, ou autre, qui te permet de construire ta combo, ou ton modèle de combo, comme ça la méthode ne dépend pas de notion liée à l'ui, mais uniquement de notions liées à la database.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    Merci beaucoup , j'ai créé une classe et ça marche

Discussions similaires

  1. Passer d'une JFrame à une autre
    Par 6116d dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/05/2015, 17h56
  2. Envoyer un String d'une jFrame à l'autre
    Par Wanty dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 23/02/2006, 13h36
  3. [C#]Comment passer un parametre d une Form à l'autre ?
    Par ToxiZz dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/02/2006, 12h28
  4. [C#] Comment passer la référence d'une fenêtre à une autre ?
    Par L`artiste dans le forum Windows Forms
    Réponses: 6
    Dernier message: 08/01/2006, 16h26
  5. Réponses: 2
    Dernier message: 04/10/2005, 20h54

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