[JFormattedTextField] MaskFormatter utilisation
Bonjour à tous,
Je me tourne vers vous car je ne trouve aucune réponse à mes problèmes après quelques semaines de recherche.
Tout d’abord, voici le code java ou j'ai isolé mes problèmes :
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 java.awt.EventQueue;
import java.text.ParseException;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.text.MaskFormatter;
public class Test extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Test frame = new Test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Test() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
MaskFormatter mask = null;
try {
mask = new MaskFormatter("********************");
} catch (ParseException e) {
e.printStackTrace();
}
contentPane.setLayout(null);
JFormattedTextField formattedTextField = new JFormattedTextField(mask);
formattedTextField.setBounds(5, 5, 140, 40);
contentPane.add(formattedTextField);
}
} |
Les problèmes sont les suivant :
- Je dois limiter une zone de saisie, j'utilise donc un JFormattedTextField et un MaskFormatter, mais lorsque l'on exécute le code, il y a déjà des caractères indésirables, "blancs", "espaces", je ne sais pas comment les appelés. Est t'il possible de rendre la zone vierge tout en gardant le mask ?
- Et lorsque l'on saisie du texte dans la zone alors qu'il y a déjà du texte, le texte est écraser et non mis entre le texte déjà saisie. Un exemple, si dans la zone de texte il y a, "Prénom" et que je je désire mettre "Nom - Prénom", il faut tout réécrire, il n'est pas possible d'ajouter "Nom - " avant le P de Prénom. Est t'il possible d’éviter cella ?
Ma méthode est peut être mauvaise, auquel cas je suis ouvert a tout autres proposition.
Si mes explications ne sont pas clair, n'hésitez pas a me le faire savoir, je tenterai d’être plus clair sur mes prochains post.