Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Thread et int par reference [ Divers / Applets ] (gbourgeois0019)

samedi 4 novembre 2006 à 19:04:00 | Thread et int par reference

gbourgeois0019

Bonjour,

Prenons comme exemple le code suvant :
// Dans un fichier :

package MonPackage;
public class ClasseA extends java.applet.Applet
{
       int Position = 0;
       .....  
}


// Dans un autre fichier:

package MonPackage;
public class MonThread extends Thread
{
       public MonThread( ??? );
        {
        }
}


Donc, je voudrais avoir acces a ma variable Position a partir de ma thread.
J'ai donc essayer de passer la variable par reference mais ca ne marche pas.
Quelqu'un sait comment je pourrais faire cela ??

Merci à l'avance.

Guillaume.

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !

samedi 4 novembre 2006 à 19:18:34 | Re : Thread et int par reference

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

tu peux le faire de deux façon (de plus mais bon ici je ne parlerais que de 2 facon) :

package MonPackage;

public class ClasseA extends java.applet.Applet
{
       int position = 0;
       .....  
       public int getPosition(){
          return position;
       }
       public void setPosition(int position){
          this.position = position;
       }

       public void uneMethode(){
             MonThread mt = new MonThread(this);
             ......
       }
      
}


// Dans un autre fichier:

package MonPackage;
public class MonThread extends Thread {
       public MonThread( ClasseA cA ){
          int position = cA.getPosition();
          position++;
          cA.setPosition(position);
          .....
       }
}


ou encore en static mais c'est dangereux

package MonPackage;

public class ClasseA extends java.applet.Applet
{
       static int position = 0;
       .....  
       public static int getPosition(){
          return position;
       }
       public static void setPosition(int position){
          this.position = position;
       }      
}


// Dans un autre fichier:

package MonPackage;
public class MonThread extends Thread {
       public MonThread( ){
          int position = ClasseA.getPosition();
          position++;
          ClasseA.setPosition(position);
          .....
       }
}


------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA

samedi 4 novembre 2006 à 19:55:21 | Re : Thread et int par reference

gbourgeois0019

J'ai essayer la première méthode, cela devrait marcher, pas d'erreur de compilation non plus, mais lorsque je fais MonThread mt = new MonThread(this); , mon Applet gèle et le thread ne semble pas démarrer. ( J'ai rajouter mt.start(); aussi ), mais ca fait exactement le meme chose ...

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !

samedi 4 novembre 2006 à 20:24:56 | Re : Thread et int par reference

Twinuts

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

tien vite fait :

import javax.swing.JApplet;
import javax.swing.JLabel;

public class ClasseA extends JApplet {
    private int position = 0;
    private JLabel label = null;
   
    public int getPosition() {
        return position;
    }

    public void setPosition(int position) {
        this.position = position;
    }
   
    public JLabel getLabel() {
        return label;
    }

    public void init() {
        label = new JLabel("position : " + position);
        setContentPane(label);
        MonThread mt = new MonThread(this);
        mt.start();
    }
}


public class MonThread extends Thread {
    private ClasseA cA;

    public MonThread(ClasseA cA) {
        this.cA = cA;
    }

    public void run() {
        while(true){
            int position = cA.getPosition();
            position++;
            cA.setPosition(position);
            cA.getLabel().setText("position : " + position);
        }
    }
}



------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA



Cette discussion est classé dans : fichier, public, int, thread, reference


Sujets en rapport avec ce message

pb a la compilation [ par fatcat ] salut a tousVoila mon petit pb j ai codé le jeu du morpion et quand je lance la compilation j ai cette erreur:is not abstract and does not override ab JPanel MousePressed et Freeze [ par xboubix ] Bonjour,j'essaye de faire un petit programme tout simple, dans lequel un Jpanel possède une image de fond, et un gif transparent se balade dedans, lor executer fichier.bat avec java [ par alias100 ] Salut,j'ai realiser un programme qui me permet de lancer un fichier batch et ca marche en local, maintenant j'ai deux machine connecte appartient au m besoin d'aide pour mon programme java [ par pouyoudu17 ] Bonjour,J'ai fait un programme java pour faire un annuaire mais il y a quelques erreurs.<b debutant illegal star of expression [ par scyon ] Le but de mon code est de chercher l'attribut FOR dans ma bdd, faire un private int case[][] selon le cas... J'ai toujours la meme erreur sans savoir pb avec void init() [ par scyon ] Alors voilà. Je veux réaliser un applet faisant appel à plusieurs classes. Mon but est de faire une map. J'ai une première classe nommée AppletJeu dan dessin graphique 2d [ par huongthuy ] Bonjour tout le monde! je suis étudiant.j'ai un projet.Le projet demande les fonctions:la fonction linéaire y = ab, la fonction affine y = ax+b, <td c detection de contour d une image (j ai un probelem dans la partie du filtre) [ par najah01_3 ] Salam ;je viens de faire detection de contour d une image noir et blanc . je devais faire la difference du pixel (i)(j)-(i-1)(j) =filter(-1f, 1f) .j a JComboBox dans JTable avec Arraylist<object[]> comme model [ par lex1111 ] Bonjour a tous, j'ais regardé presque tout les topics sur la façon de mettre une Colonne de ma Jtable avec des Jcombobox y compris les tutos de sun, m Urgent svp un probleme de trie!!!! [ par wissal04 ] avant de commencer bsr a tous,j'ai un probleme de tri,j'ai fais un tableau a une seul dimenssion et je voudrais le trié avant d'afficher son contenue


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.