probleme java - Programmation
Dans la même thématique :
Ceci répond-il à votre question ? Oui | Non
 

Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : probleme java
 
Profil : IDNaute
Plus d'informations

Bonjour
 
J'ai une application java qui tourne correctement , et je veux lancer cette application plusieurs fois. Donc j'ai créé une nouvelle fenêtre et j'ai généré 3 fois l'application .
 

Code :
  1. for(i=0; i<3;i++)
  2. {
  3. aaaa a1 = new aaaa(); // aaaa c'est l'ancienne appli
  4. a1.setVisible(true);
  5. }


L'application aaaa ce lance 3 fois mais le problème c'est que , quand j'exécute un objet ds une des fenêtres générée le résultât s'affiche toujours sur la dernière fenêtre générée .
 
Merci pour votre aide.


---------------
code de la route GRATUIT---> http://www.permik.net
Liens

Paranoid Android
Profil : IDNaute
Plus d'informations

rien compris....
 
t'aurais un screenshot ? plus de code ?


---------------
Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Profil : IDNaute
Plus d'informations

J'ai créé une classe pour les thread

Code :
  1. public class thread extends Thread implements Runnable {
  2. public void run()  {
  3. aaaa a1 = new aaaa();
  4. a1.setVisible(true);
  5.    }
  6.   }


et j'ai lancé ces thread

Code :
  1. for(int i=0;i<2;i++){
  2. thread t1 = new thread();
  3. t1.start();}


 
 
La classe aaaa lance un thread clienttcp
 

Code :
  1. public class aaaa extends JFrame { 
  2. .....
  3. .....
  4. void jButton4_actionPerformed(ActionEvent e) {
  5.     this.jButton2.setVisible(false);
  6.     this.jButton3.setVisible(false);
  7.     this.jButton4.setVisible(false);
  8. //ici je lance le thread---------------------------------
  9. clienttcp cl= new clienttcp(   );
  10. cl.start(    );
  11. }

 
 
le thread clienttcp lance info
 
 

Code :
  1. public class clienttcp extends Thread implements Runnable {
  2. ......
  3. ......
  4.   public void run()  {
  5. .........
  6. .........
  7. info in= new info();
  8. in.inf();
  9. }


 
 
 

Code :
  1. public class info {
  2. ........
  3. ......
  4.     public static void inf()
  5.         {
  6. ..........
  7. ............// on calcule var1..var4 et on modifie les labels dans aaaa
  8. aaaa.jLabel4.setText(var1);
  9. aaaa.jLabel6.setText(var2);
  10. aaaa.jLabel8.setText(var3);
  11. aaaa.jLabel10.setText(var4);
  12. }
  13. }


 
Merci


---------------
code de la route GRATUIT---> http://www.permik.net
Paranoid Android
Profil : IDNaute
Plus d'informations

exemple qui marche, sans se prendre la tête avec les thread (sachant que le mécanisme de lancement d'une jframe doit utiliser swinke invoke later, préconisation de Sun) :

 
Code :
  1. public class Main {
  2.     /**
  3.      * @param args
  4.      */
  5.     public static void main(String[] args) {
  6.         Aaaa[] a = new Aaaa[3];
  7.         for (int i = 0; i < a.length; i++) {
  8.             a[i] = new Aaaa();
  9.         }
  10.     }
  11. }


Message édité par Vinz42 le 24-04-2008 à 12:11:40

---------------
Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Profil : IDNaute
Plus d'informations

Code :
  1. aaaa[] a = new aaaa[3];
  2.          for (int i = 0; i < a.length; i++) {
  3.              a[i] = new aaaa();
  4.              a[i].setVisible(true);
  5.          }


Avec ce code j'ai le même problème : quand j'exécute un objet ds une des fenêtres crées le résultât s'affiche toujours sur la dernière fenêtre créée.
 
Je n'ai pas compris  "" (sachant que le mécanisme de lancement d'une jframe doit utiliser swinke invoke later, préconisation de Sun)""
 
 
merci


Message édité par fredixou le 24-04-2008 à 12:50:02

---------------
code de la route GRATUIT---> http://www.permik.net
Paranoid Android
Profil : IDNaute
Plus d'informations

as-tu des variables static ?


---------------
Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Paranoid Android
Profil : IDNaute
Plus d'informations

---------------
Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Paranoid Android
Profil : IDNaute
Plus d'informations

Bon, voici un exemple complet (sans le swing invoker) :  
Classe Aaaa.java

Code :
  1. import java.awt.BorderLayout;
  2. import javax.swing.JPanel;
  3. import javax.swing.JFrame;
  4. import javax.swing.JButton;
  5. import javax.swing.JTextField;
  6. public class Aaaa extends JFrame {
  7.     private static final long serialVersionUID = 1L;
  8.     private JPanel jContentPane = null;
  9.     private JButton jButton = null;
  10.     private JTextField jTextField = null;
  11.     public Aaaa() {
  12.         super();
  13.         initialize();
  14.     }
  15.     private void initialize() {
  16.         this.setSize(300, 200);
  17.         this.setContentPane(getJContentPane());
  18.         this.setTitle("JFrame" );
  19.         this.setVisible(true);
  20.     }
  21.     private JPanel getJContentPane() {
  22.         if (jContentPane == null) {
  23.             jContentPane = new JPanel();
  24.             jContentPane.setLayout(new BorderLayout());
  25.             jContentPane.add(getJButton(), BorderLayout.CENTER);
  26.             jContentPane.add(getJTextField(), BorderLayout.SOUTH);
  27.         }
  28.         return jContentPane;
  29.     }
  30.     private JButton getJButton() {
  31.         if (jButton == null) {
  32.             jButton = new JButton();
  33.             jButton.setText("Pouet" );
  34.             jButton.addActionListener(new java.awt.event.ActionListener() {
  35.                 public void actionPerformed(java.awt.event.ActionEvent e) {
  36.                     jTextField.setText("il est :" + System.currentTimeMillis() +" ms." );
  37.                 }
  38.             });
  39.         }
  40.         return jButton;
  41.     }
  42.     private JTextField getJTextField() {
  43.         if (jTextField == null) {
  44.             jTextField = new JTextField();
  45.         }
  46.         return jTextField;
  47.     }
  48. }


Classe Main.java

Code :
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         Aaaa[] a = new Aaaa[3];
  4.         for (int i = 0; i < a.length; i++) {
  5.             a[i] = new Aaaa();
  6.         }
  7.     }
  8. }


 
Aperçu :
http://img124.imageshack.us/img124/1289/trucalaconbb8.png


---------------
Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Profil : IDNaute
Plus d'informations

oui j'ai des variable static dans aaaa et qui sont modifiées par des threads lancer par aaaa


---------------
code de la route GRATUIT---> http://www.permik.net
Paranoid Android
Profil : IDNaute
Plus d'informations

je pense que tes static font que ça a un comportement un peu merdique.


---------------
Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Profil : IDNaute
Plus d'informations

Merci bien pour votre aide.
 
Mais dans ce cas quel est la solution??
 


---------------
code de la route GRATUIT---> http://www.permik.net
Paranoid Android
Profil : IDNaute
Plus d'informations

Solution 1 : part de ce que j'ai posté.
Solution 2 : trouve toi-même d'où vient le problème, étant donné qu'on a pas tout ton code, et qu'on va pas passé non plus tout notre temps sur ton code...


---------------
Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Profil : IDNaute
Plus d'informations

Merci


---------------
code de la route GRATUIT---> http://www.permik.net

Aller à :
Ajouter une réponse
  FORUM Infos-du-Net » Programmation » probleme java
 

Liens