metalkev64
Messages postés45Date d'inscriptionmardi 6 septembre 2005StatutMembreDernière intervention28 avril 2009
-
26 juil. 2007 à 16:43
metalkev64
Messages postés45Date d'inscriptionmardi 6 septembre 2005StatutMembreDernière intervention28 avril 2009
-
26 juil. 2007 à 17:53
voilà j'ai un blanc de mémoire, je sais que ca ce fais dans d'autre langague mais j'ai oublier le nom et surtout comment faire en java. Je souhaite envoyer a un module des varibles en paramètre afin qu'il qu'il traite les donnés. J'aimerais que les modification qu'il apporte au variable modifie également les originals dans l'évenement appelant. voici un exemple très simple qui illustre le principe que je cherche :
public void jButton1_actionPerformed(ActionEvent e) {
int liI = 1;
String lsTest = "Patate";
test(liI, lsTest);
jLabel2.setText(String.valueOf(liI)+" "+lsTest);
}
j'aimerai que le Texte de jLabel2 soit : "3 Patates" et non "1 Patate".
L'exemple içi ne réflète que ce que le principe que je recherche car en réalité, j'ai trop de variable a modifier pour utiliser un return et mon module est appeler par trop d'événement différent pour utiliser une variable global.
A voir également:
Blanc de mémoire pour passer des variables en paramètres
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 26 juil. 2007 à 16:54
Cela s'appelle le passage par référence.
Mais en java, si tu utilise un objet, il le passe en référence !
Donc ton affichage du label devrait être dans cet exemple : "1 Patates" car le psTest est un objet, alors que le piI est un type primitif (passe lui un Integer à la place).
theguitou
Messages postés75Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention14 janvier 200935 26 juil. 2007 à 17:44
Salut, tu peux toujours créer un objet (sa tombe bien, java est objet) !
class Data {
public int i;
public String s;
}
public void jButton1_actionPerformed(ActionEvent e) {
Data d = new Data();
d.i = 1;
d.s = "Patate";
test(d);
jLabel2.setText(d.i + " " + d.s);
}
metalkev64
Messages postés45Date d'inscriptionmardi 6 septembre 2005StatutMembreDernière intervention28 avril 2009 26 juil. 2007 à 17:20
Merçi de me rafraichir la mémoire.
mais voilà je change mes int pour des Integer et j'obtiens des message d'erreur me disant type incompatible. j'oublie surement un détails mais quoi?
Et pour mes String comment je peux faire car dans mon exemple tu me dit que comme psTest est un objet, puisqu'il est une String, mon résultat serai "1 Patates" mais mon résultat est "1 Patate" sans s dois-je également modifier le type mes string pour que cela fonctionne?
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 26 juil. 2007 à 17:43
Bonjour,
Et si tu utilisais une variable globale, il va bien évidemment garder la meme valeur que tu lui donnes.
Ceci dit, il est toujours déconnseillé d'utiliser les variables globales, parce qu'elles risquent de changer de valeur et tout le tralala, mais ca peut t'aider dans ton cas.
Kenza
Vous n’avez pas trouvé la réponse que vous recherchez ?