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);
 
                    }
                }
            }
        }
    }
}