Comment je fixe le format et la taille d'un champs
Résolu
naziha.alger
Messages postés
5
Statut
Membre
-
Twinuts Messages postés 5438 Statut Modérateur -
Twinuts Messages postés 5438 Statut Modérateur -
java swing
salut : j'ai entraîne de faire un champs dans jTextField sous la forme suivantes
exemple : IM100021
LES 2 premiers sont des lettre en majuscule et le reste sont des chiffres
j'ai essayer d'utiliser le formatter mais ça marche pas , méme j'ai utiliser expression réguliere mais j'arrive pas a fixer la taille et le format de champs
svp aidez moi de trouver une solution ?
salut : j'ai entraîne de faire un champs dans jTextField sous la forme suivantes
exemple : IM100021
LES 2 premiers sont des lettre en majuscule et le reste sont des chiffres
j'ai essayer d'utiliser le formatter mais ça marche pas , méme j'ai utiliser expression réguliere mais j'arrive pas a fixer la taille et le format de champs
svp aidez moi de trouver une solution ?
A voir également:
- Comment je fixe le format et la taille d'un champs
- Comment réduire la taille d'un fichier - Guide
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
2 réponses
Tu peux ajouter un KeyListener à ton composant, à chaque fois que tu appuies sur une touche du clavier tu rentres dans la méthode, tu peux donc vérifier le texte entré au fur et à mesure et imposer un format et une action à effectuer dès que le format n'est plus valide...
https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html
Voici un exemple très simple, tu peux bien sûr l'améliorer autant que nécessaire...
import java.awt.Color; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JTextField; public class Test { public static void main(String args[]) { final JTextField txt = new JTextField(); txt.addKeyListener(new KeyListener() { public void keyReleased(KeyEvent e) { if (txt.getText().matches("^[A-Z]{2}[0-9]+$")) txt.setForeground(Color.BLACK); else txt.setForeground(Color.RED); } public void keyTyped(KeyEvent e) {} public void keyPressed(KeyEvent e) {} }); JFrame frame = new JFrame(); frame.add(txt); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }