alonsyl
Messages postés348Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 6 novembre 2008
-
2 déc. 2005 à 12:13
alonsyl
Messages postés348Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 6 novembre 2008
-
2 déc. 2005 à 17:02
bonjour,
j'ai 1 prg qui ouvre 2 fenetres : d'abord fen1, puis fen2. je n'arrive pas a faire en sorte que le panel de fen2 soit de la taille de celui de fen1 (quelle que soit sa taille).
j'ai pourtant declare pane1 comme "public".
comment faut t'il que je m'y prenne ?
voici mon prg :
public class fen2 extends JFrame {
private JPanel pane2 = new JPanel();
public fen2() {
pane2.setSize(fen1.pane1.width, fen1.pane1.height)
//dans fen1, pane1 est declare : JPanel pane1 = new JPanel();
.....
}
}
merci a vous,
alonsyl
A voir également:
"Server api" "build date" "php version 4.4.3" "php variables"
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 2 déc. 2005 à 16:48
public class fen2 extends JFrame {
private JPanel pane2 = new JPanel();
//ta fenetre 1
private Fen1 fen1;
public fen2(Fen1 fen1) {
this.fen1 = fen1;
pane2.setSize(fen1.pane1.width, fen1.pane1.height)
//dans fen1, pane1 est declare : JPanel pane1 = new JPanel();
.....
}
}
mais je comprend pas par contre comment ton code peut compiler puisqu avant t avait pas de fen1 dans ta classe fen2 a moins que tes varibale de fen1 étaient statiques ?
déjà pr info met le nom de ta classe en majuscule c est plus clair
genre
public Fen1 à la place de public fen1
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 2 déc. 2005 à 13:18
ben normalement ca devrait marcher
mais ou est ce que t as la référence à fen1 ???
fé voir un peu plus de code parce que t accede bien à panel1 de tte facon si c t pas le cas le comilo t enverrai ds les choux
(vaut mieux qd mm mettre pane1 en privé et faire des accesseurs dessus!
cs_Zart
Messages postés285Date d'inscriptionjeudi 29 juillet 2004StatutMembreDernière intervention27 juin 20061 2 déc. 2005 à 13:32
Oui toinou a raison fait des getteurs et c'est normal que tu ne puisses faire ceci car tu n'a pas la référence à fen1...
Ton archi c'est ça en gros :
main
+ fen1
+ pane1
+ fen2
+ pane2
Mais parce que dans fen2 tu n'as aucun référence de fen1 tu ne peux pas l'appeler ? La variable n'est pas globale à ton appli (heureusement !)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 2 déc. 2005 à 13:51
et oui, en java, il n'existe pas de variable globale, tout est
encapsulé, donc il te faut une référence à ton objet pour te servir
d'une variable publique.
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
alonsyl
Messages postés348Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 6 novembre 200812 2 déc. 2005 à 14:16
ha ?! et comment je fais pour creer une reference a ma fen1.
petite indication supplementaire : en fait, fen1 est un fenetre MDI en fen2 une de ces JInternalFrame et je voudrais atteindre certaines des proprietes de fen1 depuis fen2 (pour faire des parametrages de fen2 en fonction de sa MDI).
alonsyl
Messages postés348Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 6 novembre 200812 2 déc. 2005 à 17:02
merci a toi super_toinou,
la fenetre MDI passait sans pbl au debugger mais fen2 plantait lors de son passage dans son constructeur sur la ligne pane2.setSize(fen1.pane1.width, fen1.pane1.height).