z980x
Messages postés897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 2007
-
19 nov. 2006 à 21:52
z980x
Messages postés897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 2007
-
20 nov. 2006 à 22:39
Bonjour à tous,
j'aimerais savoir s'il est possible d'avoir des variables globales en java ou un mot clé tel que extern en C/C++...
Voila pourquoi:
J'aimerais changer des trucs dans une JFrame à partir d'une autre classe, écrite dans un autre fichier que celle ou la Jframe a été créée et instanciée...
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 20 nov. 2006 à 09:32
Salut,
il te suffi de passer f en paramètre exemple (ici pas de static (faut faire attention au static)):
public class GUI extends JFrame{
public Gui(){
}
}
public class Autre{
private Gui gui;
public Autre( ){ }
//tu peux passer par le contructeur
public Autre( Gui gui){
setGui(gui);
}
///ou encore par une methode
public void setGui(Gui gui){
this.gui = gui;
//pour l'exemple tu peux meme faire un dispose sur gui dans la classe autre
gui.dispose();
}
//pour etre coherent
public Gui getGui(){
return gui;
}
}
//pour l'utilisation
public class Main{
public static void main(String [] args){
Gui gui = new Gui();
Autre autre = new Autre(gui);
//ou
Autre autre = new Autre();
autre.setGui(gui);
}
}
//Autre cas ici avec du static
public class GUI extends JFrame{
public Gui(){ }
}
public class Autre{
public Autre( ){ }
//exemple d'utilisation
public void disposeGui(){
if(Main.gui != null)//petit test de routine
Main.gui.dispose();
}
}
//pour l'utilisation
public class Main{
public static Gui gui = null;
public static void main(String [] args){
gui = new Gui();
Autre autre = new Autre();
autre.disposeGui();
}
}
voila voila
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 20 nov. 2006 à 00:20
Salut:
Si tes variables sont statiques et publiques tu peux les utiliser dans une autre classe en les préfixant par le nom de la classe.
z980x
Messages postés897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 20072 20 nov. 2006 à 08:13
Bonjour,
voici le pb:
J'ai une classe dans un fichier:
public class GUI extends Jframe{
public Gui(){
}
}
Dans un autre fichier, dans le main, je fais ca:
Gui f = new Gui();
J'aimerais utiliser ce f dans une autre classe, d'un autre fichier. En effet, j'aimerais pouvoir modifier les valeurs de cette Jframe dans un autre fichier...
Sinon, pour ta méthode, es tu sur que c'est le nom de la classe?
ce qui ferait pour moi: Gui.f ...
Merci de ton aide.
(et désolé, je ne peux pas tester avant ce soir, je ne suis pas chez moi, c'est pour ca que je demande le plus d'infos possibles...)
z980x
Messages postés897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 20072 20 nov. 2006 à 22:39
Je te remercie, j'ai recommencé tout mon programme pour repartir sur de bonnes bases... J'ai utilisé ta première méthode et ca a l'air de fonctionner !