Bonsoir,

Dans mon programme je voudrais que lorsque mon jTextField contient autre chose que des chiffres, le jTextField se colore en rouge et un message d'erreur apparaît (lorsqu'il y a focuslost).
Mon problème est que je n'arrive pas à faire afficher ma fenêtre d'erreur.

Ma fenêtre d'erreur est appelée avec cette ligne de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Erreur monErreur=new Erreur();
Et le code de filtrage du jtextField est le suivant:

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
 
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.*;
import javax.swing.border.TitledBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Toolkit;
import java.text.NumberFormat;
import javax.swing.text.DefaultFormatter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusAdapter;
 
public class phasedejeu extends JFrame implements ChangeListener{
 
JTextField jTextField6 = new JTextField();
 
private void jbInit() throws Exception {
 
jTextField6.addFocusListener(new phasedejeu_jTextField6_focusAdapter(this));
 }
 
public void jTextField6_focusLost(FocusEvent ae) {
 
        JTextField source = (JTextField) ae.getSource();
                         String textFieldContent = source.getText();
                         boolean isNumeric = false;
                         Color bgColor = Color.RED  ;
 
 
                         try {
                                 Integer.parseInt(textFieldContent);
                                 isNumeric = true;
                                 bgColor = Color.WHITE;
                         } catch (Exception e) {
 
                         }
                         source.setBackground(bgColor);
   };
}
 
class phasedejeu_jTextField6_focusAdapter extends FocusAdapter {
    private phasedejeu adaptee;
    phasedejeu_jTextField6_focusAdapter(phasedejeu adaptee) {
        this.adaptee = adaptee;
    }
 
    public void focusLost(FocusEvent e) {
        adaptee.jTextField6_focusLost(e);
    }
}