Bonjour,
Je cherche à ce que le texte rentré s'écrive directement en majuscule.
ex : si l'on rentre : "bonjour 18"
que s'affiche : "BONJOUR 18"
Je ne comprends pas comment fonctionne JFormattedTextField, merci de m'éclairer.
Merci
Bonjour,
Je cherche à ce que le texte rentré s'écrive directement en majuscule.
ex : si l'on rentre : "bonjour 18"
que s'affiche : "BONJOUR 18"
Je ne comprends pas comment fonctionne JFormattedTextField, merci de m'éclairer.
Merci
Voilà :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 jFormettedTextField.setDocument(new PlainDocument() { public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException { if (str != null) { super.insertString(offset, str.toUpperCase(), attr); } } });
Merci,
Un autre problème cependant, le constructeur permettant de définir la taille de la boîte n'existe pas. Comment faire l'équivalent de :
où 18 est le nombre de caracère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part JTextField text = new JTextField(18);
si tu veux avoir nombre obligatoire de caractère, le jformatted textfiel avec un mask te suffira
si au contraire tu cherches à obtenir un maximum de caractères, je te conseille un MyDocument dérivée de PlainDocument dans laquelle tu réalises les contrôles à la volée (voir la FAQ) ... que tu passes en paramètre d'un jtextfield
a+
En fait ce n'est ni l'un ni l'autre, c'est juste qu'à l'affichage, il me fait une case toute petite et par conséquent pas très ésthétique.
Il faudrait que je puisse définir cette taille.
Merci
OK![]()
donc ca va être plus facile alors... je pense que tu as accès aux mêmes méthodes que pour le jtextfield
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part setColumns(int columns)non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part setSize(...)![]()
Merci, cela fonctionne !
Il faut utiliser setColumns(), j'avais essayésetSize() mais cela ne fonctionne pas.
Merci à vous deux pour m'avoir aidé![]()
Je continue de faire mon formulaire, et un autre problème apparait.
Pourquoi le code suivant ne fonctionne pas ??? Je l'ai fait à partir du code qui se trouve sur un forum Java : http://forum.java.sun.com/thread.jspa?threadID=549723&messageID=2682469
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 package com.logicinvest.fundviewer; import java.awt.*; import java.awt.event.*; import java.text.*; import javax.swing.*; import javax.swing.text.*; public class JFormattedTextFieldDate extends JFormattedTextField { MaskFormatter ssnFormat = null; JButton okButton; public JFormattedTextFieldDate() { try { ssnFormat = new MaskFormatter("##/##/####"); } catch (ParseException pe) { } new JFormattedTextField(ssnFormat); setPreferredSize(new Dimension(80, 20)); System.out.println("format : " + ssnFormat); } public static void main(String args[]) { JFormattedTextFieldDate date = new JFormattedTextFieldDate(); JFrame fen = new JFrame(); fen.setSize(300, 200); JPanel pan = new JPanel(); pan.add(date); fen.getContentPane().add(pan); fen.setLocationRelativeTo(null); fen.setVisible(true); } }
Pourriez Vous aussi me dire comment créer une boîte n'acceptant que les chiffres, mais d'une longueur variable.
Merci
Ca marche avec ce code, je pense que c'était le try-catch qui génait ????
Pour l'autre question, je continue à chercher.
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 import java.awt.*; import java.awt.event.*; import java.text.*; import javax.swing.*; import javax.swing.text.*; public class JFormattedTextFieldDate extends JFormattedTextField{ JButton okButton; public JFormattedTextFieldDate() throws ParseException{ super(new MaskFormatter("##/##/####")); setPreferredSize(new Dimension(80, 20)); } public static void main(String args[]) throws ParseException{ JFormattedTextFieldDate date = new JFormattedTextFieldDate(); JFrame fen = new JFrame(); fen.setSize(300, 200); JPanel pan = new JPanel(); pan.add(date); fen.getContentPane().add(pan); fen.setLocationRelativeTo(null); fen.setVisible(true); }
Partager