Slt!
je crois tout est ds le titre !
Me trouvant dans une fenêtre,je voudrais mettre une valeur dans un champ(textefield par exemple) de la fenêtre appelante (la fenêtre qui a crée celle où je me trouve) !
Niveau : Debutant
Slt!
je crois tout est ds le titre !
Me trouvant dans une fenêtre,je voudrais mettre une valeur dans un champ(textefield par exemple) de la fenêtre appelante (la fenêtre qui a crée celle où je me trouve) !
Niveau : Debutant
Tu etends la classe Frame avec un textfield et en creant une methode dedans permettant a ta fenetre d acceder a un textfield declare ailleurs, par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class MaFenetre extends Frame TextField champtext; public void setMonTexte(TextField t){ champtext=t; }
Je m'explique un peu !
J'ai une frame F1 possedant un TextField T1 et un button B1
Quand on clique sur B1 , il ouvre (instancie) une frame F2
F2 possede un button B2 qui , quand on clique dessus devrait mettre du texte dans T1 !
Ben quand tu clique sur B2, dans l exemple que je te donne, tu feras :
et ca s ecrira dans la fenetre "appelante".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 champtext.setText("la valeur que tu veux lui donner");
et F2 tu la creer comme je t ai montre avec MaFenetre
Merci !
mais je ne vois toujours pas comment le faire !
Voila le code !
F1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 public class F1 extends JFrame { JPanel contentPane; JButton jButton1 = new JButton(); JTextField T1 = new JTextField(); public void setMonTexte(JTextField t){ T1=t; T1.setText("la valeur que tu veux lui donner"); } public F1() { try { setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); } catch (Exception exception) { exception.printStackTrace(); } } /** * Component initialization. * * @throws java.lang.Exception */ private void jbInit() throws Exception { contentPane = (JPanel) getContentPane(); contentPane.setLayout(null); setSize(new Dimension(400, 300)); setTitle("Frame Title"); jButton1.setBounds(new Rectangle(119, 126, 150, 41)); jButton1.setText("B1"); jButton1.addActionListener(new F1_jButton1_actionAdapter(this)); T1.setBounds(new Rectangle(107, 50, 172, 29)); contentPane.add(jButton1); contentPane.add(T1); } public void jButton1_actionPerformed(ActionEvent e) { F2 f=new F2(); f.setExtendedState(JFrame.MAXIMIZED_BOTH); f.getParent(); f.setVisible(true); } } class F1_jButton1_actionAdapter implements ActionListener { private F1 adaptee; F1_jButton1_actionAdapter(F1 adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jButton1_actionPerformed(e); } }
Pour F2:
Rq: Je suis en JBuilder 2005
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 public class F2 extends JFrame { public F2() { try { jbInit(); } catch (Exception exception) { exception.printStackTrace(); } } private void jbInit() throws Exception { getContentPane().setLayout(null); jButton1.setBounds(new Rectangle(130, 118, 118, 30)); jButton1.setText("B2"); jButton1.addActionListener(new F2_jButton1_actionAdapter(this)); this.getContentPane().add(jButton1); } JButton jButton1 = new JButton(); public void jButton1_actionPerformed(ActionEvent e) { // le code a mettre ici pour mettre du texte ds le textefield de F1 } } class F2_jButton1_actionAdapter implements ActionListener { private F2 adaptee; F2_jButton1_actionAdapter(F2 adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jButton1_actionPerformed(e); } }
dans F2,ajoute la propriete textF1 :
dans F1, dans la methode jButton1_actionPerformed :
Code : Sélectionner tout - Visualiser dans une fenêtre à part JTextField textF1;
et enfin dans F2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void jButton1_actionPerformed(ActionEvent e) { F2 f=new F2(); f.textF1=T1; f.setExtendedState(JFrame.MAXIMIZED_BOTH); f.getParent(); f.setVisible(true); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public void jButton1_actionPerformed(ActionEvent e) { // le code a mettre ici pour mettre du texte ds le textefield de F1 textF1.setText("ton texte"); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager