affichage fenêtre d'erreur
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:
Erreur monErreur=new Erreur();
Et le code de filtrage du jtextField est le suivant:
Code:
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);
}
} |