Bonjour
Je débute en Java et comme entraînement j'essaie de un programme similaire à celui du tuto "Création interface graphique avec Swing : les bases". Mais... il y a toujours un mais, je bloque à l'étape récupération d'une string écrite dans un JTextField et affichage de ladite string dans un Jalbel.
Voici la classe de construction de la fenêtre :
et la classe AcClic, le constructeur de l'action
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 private JPanel buildContentPane (){ JPanel panel = new JPanel(); panel.setLayout (new FlowLayout()); JLabel label1 = new JLabel("label1"); JTextField edText = new JTextField(); edText.setColumns (20); edText.setText ("edText"); JButton clic = new JButton (new AcClic (this, "CLIC!")); panel.add(edText); panel.add(label); panel.add(label1); panel.add(clic); return panel; } public JTextField getEdText() { return edText; } public JLabel getLabel1 (){ return label1; }
et voici le message d'erreur quand je clique :
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 import java.awt.event.ActionEvent; import javax.swing.AbstractAction; public class AcClic extends AbstractAction{ private CalcFenetre fenetre; public AcClic (CalcFenetre fenetre, String texte){ super (texte); this.fenetre = fenetre; } public void actionPerformed (ActionEvent e){ //System.out.println ("arrête ça tout de suite!!!!!"); String textIn = fenetre.getEdText().getText(); fenetre.getLabel ().setText (textIn); } }
"Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException"
En bidouillant un peu, je me suis rendu compte que
marche!
Code : Sélectionner tout - Visualiser dans une fenêtre à part fenetre.getLabel1();//par exemple
mais pas. Il me semble que les .getText et setText ne savent pas où s'appliquer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part fenetre.getLabel1.setText("test");//pour tester
Merci d'avance
Partager