Bonjour, j'ai un souci en java:
je crée une fenetre avec un champ de texte et un boutton, je voudrais que, lorsque que j'ai écrit du texte dans ce champ et qu'apres j'appuie sur la fenetre, je puisse récupérer ce texte et l'afficher dans l'invite de commande. J'ai pour cela créé deux classes, une pour la fenêtre et une pour le programme principal "main".
Je tiens absolument à récupérer mon texte dans le main et pas dans la classe qui crée la fenêtre (je fais cela pour l'adapter à un programme plus compliqué ensuite...).
Voici mon code:
et le "main":
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 /**classe graphique *construction d'une fenetre *@author XXX */ import java.io.*; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class Fensimple implements ActionListener{ //attributs private JFrame fenetre; private JButton boutonA; private JTextField champA; private Dimension dimension; //constructeur public Fensimple() { this.fenetre=new JFrame("Récupération"); this.champA=new JTextField(20); this.dimension=new Dimension(100,100); this.boutonA=new JButton("récupérer"); Container conteneur = fenetre.getContentPane(); GridLayout disposition = new GridLayout(10,1); conteneur.setLayout(disposition); //on ajoute tout conteneur.add(this.champA); conteneur.add(this.boutonA); boutonA.addActionListener(this); this.fenetre.setBounds(300,300,300,300); } //getteurs public JButton getBoutonA (){ return boutonA; } public JTextField getChampA (){ return champA; } //méthodes public void actionPerformed(ActionEvent e){ String log=new String(champA.getText()); } public void setVisible(boolean b){ if (b) { this.fenetre.setVisible(true); } else { this.fenetre.setVisible(false); } } }
Le System.out.print n'affiche rien peu importe ce que je rentre comme texte dans le champ de la fenêtre, je n'arrive pas à solutionner ce problème.
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 /**classe controleur *main de l'application *@author XXX */ import java.io.*; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class Tu{ public static void main (String args[]) throws java.lang.NoSuchMethodError, java.lang.NoClassDefFoundError{ Fensimple fen=new Fensimple(); fen.setVisible(true); System.out.println(fen.getChampA().getText()); } }
Si quelqu'un sait, c'est gentil de m'aider, merci.
Partager