IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

Affichage dans mon jTextField et non println


Sujet :

Java

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 56
    Points : 48
    Points
    48
    Par défaut Affichage dans mon jTextField et non println
    Bonjour,

    J'ai fais un petit code qui me permet de taper dans un jTextField, des chiffres à la suite, et ensuite cela me les transforme en heure minute, exemple : 1254 me donnera 12h54 etc...
    Pour mes tests je faisais afficher le résultat dans un "println":
    System.out.println("La chaine inferieur a 4 caracteres => " + sb1);
    et
    System.out.println("La chaine egale a 4 caracteres => " + sb2);
    mais maintenant que ca fonctionne bien, je voudrais que cela me l'affiche directement dans mon jTextField..
    Je n'arrive pas à trouver la solution.. Car en plus, je me servirais du même jTextField pour taper mes chiffres et pour afficher le résultat à la fin.. je sais même pas si c'est faisable ?
    Mon code de débutant est certainement laborieux mais il fonctionne au final..je m'exerce !
    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
    54
    55
    56
    57
    58
    59
    60
    public class GestionHeure {
     
        public String getmValeur() {
            return mValeur;
        }
     
        public void setmValeur(String mValeur) {
            this.mValeur = mValeur;
        }
     
        private String mValeur;
        private String mDeuxDernierCaractereString;
        private Integer mMesDeuxDernierCaractereEntier;
        private String mMesDeuxPremierCaractereString;
        private Integer mMesDeuxPremierCaractereEntier;
     
        public void traitementHeure(String mValeur) {
            if (mValeur.length() > 4) {
                System.out.println("ERREUR !! Il y a plus de 5 caracteres, recommencez...");
            } else {
                if (mValeur.length() < 3) {
                    System.out.println("ERREUR !! Il faut minimum 3 caracteres.");
                } else {
                    if (mValeur.length() < 4) {
                        StringBuilder str = new StringBuilder(mValeur);
                        //Je rajoute un "0" devant le 1er chiffre
                        str.insert(0, "0");
                        //Je récupère les 2 derniers caractères
                        mDeuxDernierCaractereString = str.substring(2, 4);
                        //Je les convertis en ENTIER
                        mMesDeuxDernierCaractereEntier = Integer.valueOf(mDeuxDernierCaractereString);
                        //Je test ces 2 caractères si > 59 
                        if (mMesDeuxDernierCaractereEntier > 59) {
                            System.out.println("ERREUR !! Les 2 derniers caracteres sont superieur a 59 minutes");
                        } else {
                            StringBuffer sb1 = new StringBuffer(str);
                            sb1.insert(2, "h");
                            System.out.println("La chaine inferieur a 4 caracteres =>  " + sb1);
                        }
                    } else {
                        StringBuffer sb2 = new StringBuffer(mValeur);
                        //Je récupère les 2 derniers ou 2 premiers caractères
                        mDeuxDernierCaractereString = sb2.substring(2, 4);
                        mMesDeuxPremierCaractereString = sb2.substring(0, 2);
                        //Je les convertis en ENTIER
                        mMesDeuxDernierCaractereEntier = Integer.valueOf(mDeuxDernierCaractereString);
                        mMesDeuxPremierCaractereEntier = Integer.valueOf(mMesDeuxPremierCaractereString);
                        //Je test ces 2 caractère si > 59 minutes ou > 23 heures
                        if (mMesDeuxDernierCaractereEntier > 59 || mMesDeuxPremierCaractereEntier > 23) {
                            System.out.println("ERREUR !! Les 2 derniers ou premier caracteres sont superieur a 59 minutes ou 23 heures");
                        } else {
                            sb2.insert(2, "h");
                            System.out.println("La chaine egale a 4 caracteres =>  " + sb2);
     
                        }
                    }
                }
            }
        }
    }

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 854
    Points : 22 876
    Points
    22 876
    Billets dans le blog
    51
    Par défaut
    C'est faisable mais peu adapté pour ca (JSpinner est par exemple un composant plus approprié) et surtout il faudrait ajouter un peu de latence (un délais entre les reactions via un Timer Swing) pour que l'utilisateur ait un peu plus de temps entre le moment ou il saisit sa valeur et le moment ou le résultat s'affiche dans le champs texte.

    Truc de base rapidement fait et qui permet pas une edition complexe :
    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
    mport javax.swing.*;
    import javax.swing.event.DocumentEvent;
    import javax.swing.event.DocumentListener;
    import java.awt.*;
    import java.util.Optional;
     
    public final class Main {
        public static void main(final String... args) {
            SwingUtilities.invokeLater(Main::launch);
        }
     
        private static void launch() {
            final var textField = new JTextField();
            textField.setColumns(5);
            textField.getDocument().addDocumentListener(new DocumentListener() {
                private final GestionHeure gestionHeure = new GestionHeure();
                @Override
                public void insertUpdate(DocumentEvent e) {
                    tryUpdateTime();
                }
     
                @Override
                public void removeUpdate(DocumentEvent e) {
                    tryUpdateTime();
                }
     
                @Override
                public void changedUpdate(DocumentEvent e) {
                    tryUpdateTime();
                }
     
                private void tryUpdateTime() {
                        Optional.ofNullable(gestionHeure.traitementHeure(textField.getText()))
                                .ifPresent(result -> SwingUtilities.invokeLater(() -> textField.setText(result)));
                }
            });
            final var frame = new JFrame("Test");
            frame.getContentPane().setLayout(new FlowLayout());
            frame.getContentPane().add(textField);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setPreferredSize(new Dimension(800, 600));
            frame.setVisible(true);
            frame.pack();
            frame.setLocationRelativeTo(null);
        }
    }
    Avec des modifications rapides pour retourner valeur quand le traitement a lieu :
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    public class GestionHeure {
     
        public String getmValeur() {
            return mValeur;
        }
     
        public void setmValeur(String mValeur) {
            this.mValeur = mValeur;
        }
     
        private String mValeur;
        private String mDeuxDernierCaractereString;
        private Integer mMesDeuxDernierCaractereEntier;
        private String mMesDeuxPremierCaractereString;
        private Integer mMesDeuxPremierCaractereEntier;
     
        public String traitementHeure(String mValeur) {
            if (mValeur.length() > 4) {
                System.out.println("ERREUR !! Il y a plus de 5 caracteres, recommencez...");
                return null;
            } else {
                if (mValeur.length() < 3) {
                    System.out.println("ERREUR !! Il faut minimum 3 caracteres.");
                } else {
                    if (mValeur.length() < 4) {
                        StringBuilder str = new StringBuilder(mValeur);
                        //Je rajoute un "0" devant le 1er chiffre
                        str.insert(0, "0");
                        //Je récupère les 2 derniers caractères
                        mDeuxDernierCaractereString = str.substring(2, 4);
                        //Je les convertis en ENTIER
                        mMesDeuxDernierCaractereEntier = Integer.valueOf(mDeuxDernierCaractereString);
                        //Je test ces 2 caractères si > 59
                        if (mMesDeuxDernierCaractereEntier > 59) {
                            System.out.println("ERREUR !! Les 2 derniers caracteres sont superieur a 59 minutes");
                            return null;
                        } else {
                            StringBuffer sb1 = new StringBuffer(str);
                            sb1.insert(2, "h");
                            System.out.println("La chaine inferieur a 4 caracteres =>  " + sb1);
                            return sb1.toString();
                        }
                    } else {
                        StringBuffer sb2 = new StringBuffer(mValeur);
                        //Je récupère les 2 derniers ou 2 premiers caractères
                        mDeuxDernierCaractereString = sb2.substring(2, 4);
                        mMesDeuxPremierCaractereString = sb2.substring(0, 2);
                        //Je les convertis en ENTIER
                        mMesDeuxDernierCaractereEntier = Integer.valueOf(mDeuxDernierCaractereString);
                        mMesDeuxPremierCaractereEntier = Integer.valueOf(mMesDeuxPremierCaractereString);
                        //Je test ces 2 caractère si > 59 minutes ou > 23 heures
                        if (mMesDeuxDernierCaractereEntier > 59 || mMesDeuxPremierCaractereEntier > 23) {
                            System.out.println("ERREUR !! Les 2 derniers ou premier caracteres sont superieur a 59 minutes ou 23 heures");
                            return null;
                        } else {
                            sb2.insert(2, "h");
                            System.out.println("La chaine egale a 4 caracteres =>  " + sb2);
                            return sb2.toString();
                        }
                    }
                }
            }
            return null;
        }
    }
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    Merci
    cela fonctionne bien sauf, que lorsque je tape mes premiers caractères, exemple je voudrais : 12h34, je tape donc : 1 ensuite 2 ensuite 3 et à partir de là, cela me transforme l'heure en : 01h23. j'ai pas le temps de taper le 4 ?

  4. #4
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    Bon j'ai trouvé autre chose qui est pas mal, j'ai modifié certaines lignes.
    Mon soucis est que j'arrive bien a rentrer mes 2 premier caracteres, ensuite le "H" se place bien, mais mon curseur va directement à la fin ??
    Exemple je veux taper : 1256 qui doit correspondre au final à : 12H56, et bien là je rentre : 12 le H apparait bien et le curseur se place à la fin ?? je ne peu pas rentrer :56
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    import javax.swing.*;
    import javax.swing.event.DocumentEvent;
    import javax.swing.event.DocumentListener;
    import java.awt.*;
    import java.awt.event.FocusAdapter;
    import java.awt.event.FocusEvent;
     
    public class GestionTempsTextField {
     
     
        public static void main(String[] args) {
            SwingUtilities.invokeLater(() -> {
                JFrame frame = new JFrame("Gestion Heure/Minute ");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setSize(300, 100);
                frame.setLocationRelativeTo(null);
     
                JTextField textField = new JTextField("0000", 5);
                textField.setFont(new Font("Monospaced", Font.PLAIN, 16));
     
                // Positionne le curseur au début lorsque le champ est initialement affiché
                textField.setCaretPosition(0);
     
                // Ajout d'un écouteur de document pour gérer les modifications dans le champ de texte
                textField.getDocument().addDocumentListener(new DocumentListener() {
                    @Override
                    public void insertUpdate(DocumentEvent e) {
                        formatTextField(textField);
                    }
     
                    @Override
                    public void removeUpdate(DocumentEvent e) {
                        formatTextField(textField);
                    }
     
                    @Override
                    public void changedUpdate(DocumentEvent e) {}
                });
     
                // afficher le format correct lorsqu'il perd le focus
                textField.addFocusListener(new FocusAdapter() {
                    @Override
                    public void focusLost(FocusEvent e) {
                        formatTextField(textField);
                    }
                });
     
                frame.add(textField, BorderLayout.CENTER);
                frame.setVisible(true);
            });
        }
     
        private static void formatTextField(JTextField textField) {
            SwingUtilities.invokeLater(() -> {
                String entreeText = textField.getText().replaceAll("[^\\d]", "");
     
                // longueur du texte ne dépasse pas 4 chiffres.
                if (entreeText.length() > 4) {
                    entreeText = entreeText.substring(0, 4);
                }
     
                // Complétez avec des zéros non significatifs si nécessaire
                while (entreeText.length() < 4) {
                    entreeText = "0" + entreeText;
                }
     
                int hours = Integer.parseInt(entreeText.substring(0, 2));
                int minutes = Integer.parseInt(entreeText.substring(2, 4));
     
                if (hours > 23) {
                    hours = 23;
                }
     
                if (minutes > 59) {
                    minutes = 59;
                }
     
                String formattedText = String.format("%02dH%02d", hours, minutes);
     
                // Évite les boucles infinies en vérifiant si le texte est réellement différent
                if (!textField.getText().equals(formattedText)) {
                    // Conserve la position du curseur
                    int positionCurseur = textField.getCaretPosition();
     
                    // Définir le texte formaté
                    textField.setText(formattedText);
     
                    // Définir la position du curseur pour qu'elle soit logique pour l'édition
                    // Positionner le curseur juste après les heures ou à la fin du texte
                    int nouvellePositionCurseur = formattedText.length();
                    if (positionCurseur <= 1) { // Si le curseur était dans la partie heure, ajustez la position
                        nouvellePositionCurseur = Math.min(1, formattedText.length());
                    }
                    textField.setCaretPosition(nouvellePositionCurseur);
                }
            });
        }
     
    }

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 854
    Points : 22 876
    Points
    22 876
    Billets dans le blog
    51
    Par défaut
    C'est bien pour cela que je disais qu'il faudrait temporiser la réponse. En effet dans cette solution, le temps de reaction est trop rapide, ce qui peut mener a des incohérences ou a des conflits d’édition. D'ou ma suggestion d'integrer un Timer :

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    package test.textfield;
     
    import javax.swing.*;
    import javax.swing.event.DocumentEvent;
    import javax.swing.event.DocumentListener;
    import java.awt.*;
    import java.awt.event.FocusAdapter;
    import java.awt.event.FocusEvent;
    import java.util.Objects;
    import java.util.Optional;
     
    public class GestionTempsTextField {
     
        public static void main(String[] args) {
            SwingUtilities.invokeLater(() -> {
                JFrame frame = new JFrame("Gestion Heure/Minute ");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setSize(300, 100);
                frame.setLocationRelativeTo(null);
     
                JTextField textField = new JTextField("0000", 5);
                textField.setFont(new Font("Monospaced", Font.PLAIN, 16));
     
                // Positionne le curseur au début lorsque le champ est initialement affiché
                textField.setCaretPosition(0);
     
                final var editionManager = new EditionManager(textField);
     
                // Ajout d'un écouteur de document pour gérer les modifications dans le champ de texte
                textField.getDocument().addDocumentListener(editionManager);
     
                // afficher le format correct lorsqu'il perd le focus
                textField.addFocusListener(editionManager);
                frame.add(textField, BorderLayout.CENTER);
                frame.setVisible(true);
            });
        }
     
        private static class EditionManager extends FocusAdapter implements DocumentListener {
            private static final short DEFAULT_SLEEP_TIME = 750;
            private final JTextField textField;
            private boolean validating = false;
            private Timer pause;
     
            private EditionManager(JTextField textField) {
                this.textField = textField;
            }
     
            @Override
            public void insertUpdate(DocumentEvent e) {
                tryFormatTextField(textField);
            }
     
            @Override
            public void removeUpdate(DocumentEvent e) {
                tryFormatTextField(textField);
            }
     
            @Override
            public void changedUpdate(DocumentEvent e) {
            }
     
            @Override
            public void focusLost(FocusEvent e) {
                tryFormatTextField(textField);
            }
     
            private void tryFormatTextField(JTextField textField) {
                if (validating) {
                    return;
                }
                Optional.ofNullable(pause)
                        .ifPresent(Timer::restart);
                if (Objects.isNull(pause)) {
                    pause = new Timer(DEFAULT_SLEEP_TIME, event -> {
                        formatTextField(textField);
                        pause = null;
                    });
                    pause.setRepeats(false);
                    pause.start();
                }
            }
     
            private void formatTextField(JTextField textField) {
                String entreeText = textField.getText().replaceAll("[^\\d]", "");
     
                // longueur du texte ne dépasse pas 4 chiffres.
                if (entreeText.length() > 4) {
                    entreeText = entreeText.substring(0, 4);
                }
     
                // Complétez avec des zéros non significatifs si nécessaire
                while (entreeText.length() < 4) {
                    entreeText = "0" + entreeText;
                }
     
                int hours = Integer.parseInt(entreeText.substring(0, 2));
                int minutes = Integer.parseInt(entreeText.substring(2, 4));
     
                if (hours > 23) {
                    hours = 23;
                }
     
                if (minutes > 59) {
                    minutes = 59;
                }
     
                String formattedText = String.format("%02dH%02d", hours, minutes);
                validating = true;
                // Conserve la position du curseur
                int positionCurseur = textField.getCaretPosition();
     
                // Définir le texte formaté
                textField.setText(formattedText);
     
                // Définir la position du curseur pour qu'elle soit logique pour l'édition
                // Positionner le curseur juste après les heures ou à la fin du texte
                int nouvellePositionCurseur = formattedText.length();
                if (positionCurseur <= 1) { // Si le curseur était dans la partie heure, ajustez la position
                    nouvellePositionCurseur = Math.min(1, formattedText.length());
                }
                textField.setCaretPosition(nouvellePositionCurseur);
                validating = false;
            }
        }
    }
    EDIT - ah oui j'oubliais, outre JSpinner, il y a aussi JFormattedTextField qui pourrait etre plus adapte pour ce genre de boulot.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    Merci

    Mais je n'arrive toujours pas a rentrer les minutes ? le curseur se place a la fin ?

  7. #7
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    c'est bon je pense avoir trouvé la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int nouvellePositionCurseur = formattedText.length();
        if (positionCurseur <= 1) { // Si le curseur était dans la partie heure, ajustez la position
            nouvellePositionCurseur = 1; // Positionner le curseur juste après les heures et "h"
        } else if (positionCurseur >= 2) { // Si le curseur était dans la partie minutes, ajustez la position
            nouvellePositionCurseur = Math.min(positionCurseur + 1, formattedText.length()); // Ajuster la position en fonction du nouvel emplacement du curseur
        }
     
        textField.setCaretPosition(nouvellePositionCurseur);
        validating = false;
    je vais faire une batterie de tests maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affichage dans mon flexgrid!
    Par js8bleu dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 26/10/2009, 02h11
  2. [A-00] Problème d'affichage dans mon état
    Par samus535 dans le forum IHM
    Réponses: 2
    Dernier message: 16/03/2009, 21h26
  3. Problème d'affichage dans mon formulaire
    Par samus535 dans le forum IHM
    Réponses: 5
    Dernier message: 28/01/2008, 19h05
  4. Problème d'affichage dans mon code
    Par naima2005 dans le forum Applets
    Réponses: 3
    Dernier message: 02/12/2007, 11h52
  5. Problème d'affichage dans mon état
    Par gontrand16 dans le forum Access
    Réponses: 6
    Dernier message: 05/07/2006, 20h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo