Problèmes de récupération d'un jtextfileld par getText()

dafdogg Messages postés 2 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 16 février 2009 - 16 févr. 2009 à 14:07
dafdogg Messages postés 2 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 16 février 2009 - 16 févr. 2009 à 17:41
Bonjour à tous,

Je travaille actuellement sur une appli client lourd avec des fenêtres graphiques.
Je cherche à récupérer le contenu de certains champs mais pour l'instant, pas de résultat.
Voilà tout d'abord un code simple que j'aimerai débloquer :




""
import

java.awt.*;





import




java.awt.event.*;




import




javax.swing.*;




public








class

TestTextfield


extends

JFrame {



private





static





final





long





serialVersionUID

= 1L;












public

TestTextfield() { setTitle (


"GALO - Saisie des données"
);setSize(400,200);







setDefaultCloseOperation(JFrame.


EXIT_ON_CLOSE

);


/**






*



Création



des



onglets






*/

JTabbedPane onglets =





new

JTabbedPane(SwingConstants.


TOP

);

Test onglet1 =



new

Test();onglets.addTab(


"onglet"
, onglet1);onglets.setOpaque(



true

);add(onglets);

getContentPane();



}
















public





static





void

main(String args[]) {TestTextfield f =



new

TestTextfield();f.setVisible(



true

);}

}




class




Test


extends

JPanel {



private





static





final





long





serialVersionUID

= 0;



public

Test() {TestField e =



new

TestField();TestButton c =



new

TestButton();


/**






*



Création



du



GridBagLayout






*/

GridBagLayout g =





new

GridBagLayout();setLayout(g);


// construction des contraintes




GridBagConstraints c1 =





new

GridBagConstraints();c1.


gridx
= 0;c1.


gridy
= 0;c1.


fill
= GridBagConstraints.


BOTH

;add(e,c1);

GridBagConstraints c2 =



new

GridBagConstraints();c2.


gridx
= 1;c2.


gridy
= 0;c2.


fill
= GridBagConstraints.


BOTH

;c2.


gridheight
= 2;add(c,c2);

}

}




class




TestField


extends

JPanel


implements

ActionListener {



private





static





final





long





serialVersionUID

= 0;



public

JTextField

text
;



public

TestField() {


text
=


new

JTextField(5);


text
.addActionListener(


this

);add(


text
);}



public





void

actionPerformed(ActionEvent arg0) {


//

TODO

Auto-generated method stub




}


}









class




TestButton


extends

JPanel


implements

ActionListener {



private





static





final





long





serialVersionUID

= 0;



private

JButton

ok
;



public

TestButton() {


ok
=


new

JButton (

"ok"
);


ok
.addActionListener(


this

);add(


ok
);}



public





void

actionPerformed(ActionEvent e) {Object source = e.getSource();

TestField y =



new

TestField();



if

(source ==

ok
) {


String essai =


null

;System.



out

.println(

"valeur : "
+ essai);



try

{essai = y.


text
.getText();}



catch

(Exception et) {System.



out

.println(et);}

System.



out

.println(

"valeur : "
+ essai);}

}

}""

Malheureusement, j'ai comme résultat  :

""valeur : null

valeur : ""


Je voudrais savoir pourquoi je n'arrive pas à récupérer le contenu de mon JTextField, sachant que je dois garder cette structure en plusieurs classes.

D'avance je vous remercie pour votre aide.

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 févr. 2009 à 15:39
Salut,

C'est très certainement ces instructions qui sont exécutées :
if(source = =
ok) {

String essai =
null;System. out
.println(
"valeur : " + essai);

Je te conseille de le remplacer par :

if (source.equals(
ok)) {

String essai =
y.text.getText();System.out
.println(
"valeur : " + essai);

______________________________________
DarK Sidious
0
dafdogg Messages postés 2 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 16 février 2009
16 févr. 2009 à 17:41
Merci pour ton aide DarK Sidious mais ça ne fonctionne toujours pas. Je récupère toujours un string vide.
0