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

Composants Java Discussion :

Rendre permanent le texte tapé dans un JTextField


Sujet :

Composants Java

  1. #1
    Membre actif Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Points : 293
    Points
    293
    Par défaut Rendre permanent le texte tapé dans un JTextField
    Bonjour,
    je voudrai savoir s'il y a un moyen de rendre le texte tapé dans un jtextField permanent, c'est-à-dire faire l'effet du editText que j'utilise pour initialiser mon jtextField lors de la construction de la fenêtre(j'utilise NetBeans): lorsque l'utilisateur tape son texte j'aimerais qu'il reste tel quel jusqu'à la prochaine fois que l'utilisateur tape un nouveau texte.
    j'espère avoir été clair!
    merci pour votre aide.

  2. #2
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    Salut

    J'avoue ne pas bien avoir saisi ta question. Tu veux garder le texte du JTextField entre deux exécution ? Et ou est le rapport avec le "editText" ?

  3. #3
    Membre averti Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Points : 323
    Points
    323
    Par défaut
    Je ne comprends pas non plus ton soucis, mais je vais essayer de t'éclairer (même si je risque de viser à côté )
    Si tu veux conserver ton texte initiale et ajouter à la suite, et que le JTextField dont tu parles ne sert que pour de l'affichage je te conseil d'utiliser un JTextArea et la méthode "append(String str)".
    D'ailleurs pour de l'affichage je préfère utiliser un JTextArea dans tous les cas (en mode "setEditable(false)"). Le JTextField me semble plus adapté pour de la saisie.
    Du coup si tu veux juste changer le texte de temps en temps sur le JTextArea tu as "setText(String str)"
    Pour appuyer ce que je te dis, voilà ce que j'ai trouvé dans la JAVADOC en passant par JTextField (exemple fourni ) :
    http://docs.oracle.com/javase/tutori...textfield.html
    et le code (qui utiliser JTextField pour la saisie et JTextArea pour l'affichage) :
    http://docs.oracle.com/javase/tutori.../TextDemo.java
    Un petit n'est pas de trop si le message est utile

    "Vous êtes très nombreux dans votre cas? J'ai jamais pensé que les cons étaient en minorité..."

  4. #4
    Membre actif Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Points : 293
    Points
    293
    Par défaut
    Bonjour,
    tout d'abord merci pour vos réponses, et voici plus d'explications:
    je me sers de mon jtextfield pour récupérer l'@ ip du serveur sur lequel se trouve ma bdd, c'est à dire qu'au lancement de l'application, elle fait jtextfield.getText() pour avoir l'@ip pour faire la connexion à ma bdd.
    l'@ ip peut changer mais rarement,donc oui Laine "je veux garder le texte du JTextField entre deux exécutions" pour que les utilisateurs n'aient pas à la taper à chaque fois.
    enfaite, j'utilise un singleton pour la connexion à ma bdd et utiliser un jtextfield
    est la seule façon que j'ai trouvé pour alimenter l'url du singleton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Single.setURL("jdbc:oracle:thin:@"+jTextField1.getText()+":1521:mabdd");
    Single est mon singleton.
    Voilà, merci pour votre intérêt.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Bonjour,

    Je pense que la solution propre serait de passer par une fichier de configuration, un exemple ici :

    http://www.developpez.net/forums/d27...configuration/

    En fait, je ne vois pas vraiment l’intérêt d'avoir ce JTextField. Pour ma part, et à moins que je n'ai pas bien compris ton besoin, je me contenterais de mettre l'adresse IP dans le fichier de config et basta.

    Ainsi, tu peux changer l'adresse IP dans le fichier de configuration quand tu veux.

  6. #6
    Membre actif Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Points : 293
    Points
    293
    Par défaut
    ben, c'est juste que je n'ai jamais utilisé de fichier de configuration, donc je n'y ai même pas pensé, mais ça doit être ça la solution!
    Merci pour le tuyau. je vais voir ça.

  7. #7
    Membre averti Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Points : 323
    Points
    323
    Par défaut
    Eh bien moi je ne vois pas le soucis puisque quand tu fais un "getText()" cela n'efface pas le champ JTextField (je viens de le tester) donc tu ne perds pas la donnée ! ensuite en jouant sur le setEditable tu peux interdire à l'utilisateur de changer la valeur tant qu'il n'a pas fermé une connexion, etc...

    Ceci juste pour t'aider dans ton optique de JTextField, mais sinon je pense aussi que le fichier de configuration est plus approprié (si il répond à tes besoins).
    Un petit n'est pas de trop si le message est utile

    "Vous êtes très nombreux dans votre cas? J'ai jamais pensé que les cons étaient en minorité..."

  8. #8
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Et si tu utilisais un fichier texte, contenant l'@ ip d ton serveur de bdd. Comme ça, à chaque fois que l'utilisateur va de connecter, tu ne feras que lire le contenu de ce fichier et l'affecter à ton jtextfield...
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  9. #9
    Membre averti Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Points : 323
    Points
    323
    Par défaut
    Et si tu utilisais un fichier texte, contenant l'@ ip d ton serveur de bdd. Comme ça, à chaque fois que l'utilisateur va de connecter, tu ne feras que lire le contenu de ce fichier et l'affecter à ton jtextfield...
    C'est exactement l'idée du fichier de configuration proposé ><
    Un petit n'est pas de trop si le message est utile

    "Vous êtes très nombreux dans votre cas? J'ai jamais pensé que les cons étaient en minorité..."

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Le fichier de propriété est une idée mais si l'application est packagée sous forme de jar, c'est un peu compliqué pour l'utilisateur d'aller modifier... et ça ne fait pas très "pro" dans l'application...

    Une autre solution consiste à sérialiser la valeur dans un objet java, comme ça, on utilise une interface graphique standard de l'application pour modifier la valeur quand elle change...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par Doopeijii Voir le message
    C'est exactement l'idée du fichier de configuration proposé ><
    La différence réside au niveau de manipulation. Le fichier texte ne sera créé qu'une seule fois dans l'application puis, question seulement de la lecture pour récupérer son contenu (l'@ IP) et de l'écriture au cas où cette adresse changait au cours du temps, pour la modifier. Donc l'utilisateur finale gère lui même et aisaiment cette @ IP, après que l'application se voie déployée... C'est sous cette optique que j'ai proposé cette idée
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Citation Envoyé par MasterMbg Voir le message
    La différence réside au niveau de manipulation. Le fichier texte ne sera créé qu'une seule fois dans l'application puis, question seulement de la lecture pour récupérer son contenu (l'@ IP) et de l'écriture au cas où cette adresse changait au cours du temps, pour la modifier. Donc l'utilisateur finale gère lui même et aisaiment cette @ IP, après que l'application se voie déployée... C'est sous cette optique que j'ai proposé cette idée
    Et heu, excuse ma grossière inculture, mais quelle est alors la différence avec un fichier de configuration? Parce que là, pour moi, tu viens de décrire... un fichier de configuration.

  13. #13
    Membre averti Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Points : 323
    Points
    323
    Par défaut
    Si je saisie bien, il nous dit que le fichier de configurations n'est chargé qu'au lancement de l'application puis n'est plus utilisé... Contrairement à son fichier texte. Moi, je pense que c'est juste un choix de développeur sur ce point. Les deux peuvent être utilisés de la même manière.
    Un petit n'est pas de trop si le message est utile

    "Vous êtes très nombreux dans votre cas? J'ai jamais pensé que les cons étaient en minorité..."

  14. #14
    Membre actif Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Points : 293
    Points
    293
    Par défaut
    Bonjour,
    Tout d'abord, merci à tous pour votre aide, ensuite l'idéal pour moi serait de pouvoir changer l'@IP à partir de l'application donc l'idée de OButterlin me convient bien :
    Une autre solution consiste à sérialiser la valeur dans un objet java, comme ça, on utilise une interface graphique standard de l'application pour modifier la valeur quand elle change...
    mais je n'ai encore jamais utiliser la sérialisation, je vais me pencher dessus et un peu plus d'aide serait la bienvenue!
    merci

  15. #15
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Un petit exemple pour illustrer le principe...
    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
     
    import java.io.Serializable;
     
    public class Personne implements Serializable
    {
        public static final long serialVersionUID = 1;
        private String nom;
        private String prenom;
     
        public String getNom()
        {
            return nom;
        }
     
        public void setNom(String nom)
        {
            this.nom = nom;
        }
     
        public String getPrenom()
        {
            return prenom;
        }
     
        public void setPrenom(String prenom)
        {
            this.prenom = prenom;
        }
    }
    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
     
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
     
    public class SerializeObject
    {
     
        /**
         * @param args
         */
        public static void main(String[] args)
        {
            File file = null;
            FileInputStream fis = null;
            ObjectInputStream ois = null;
            FileOutputStream fos = null;
            ObjectOutputStream oos = null;
            try
            {
                Personne personne = null;
     
                file = new File("Personne.ser");
                if (file.exists())
                {
                    fis = new FileInputStream(file);
                    if (fis != null)
                    {
                        ois = new ObjectInputStream(fis);
                    }
                }
     
                if (ois != null)
                {
                    personne = (Personne)ois.readObject();
                    fis.close();
                    ois.close();
                }
     
                if (personne == null)
                {
                    personne = new Personne();
                    personne.setNom("Un Nom");
                    personne.setPrenom("Un Prénom");
                }
     
     
                fos = new FileOutputStream("Personne.ser");
                oos = new ObjectOutputStream(fos);
                oos.writeObject(personne);
                fos.close();
                oos.close();
            }
            catch (Exception e)
            {
                System.out.println(e.toString());
            }
        }
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    C'est drôle que personne n'ai parler des Preferences.
    Il s'agit pourtant d'un des moyen le plus simple pour sauvegarder les paramètres d'une application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	// Je récupères les préférences pour ma classe :
    	Preferences prefs = Preferences.userNodeForPackage(MaClasse.class);
     
    	// Je récupère une propriété (en définissant une valeur par défaut)
    	// ip vaudra "127.0.0.1" si la propriété n'est pas défini,
    	// ou la valeur précédemment sauvegardée sinon.
    	String ip = prefs.get("IP", "127.0.0.1");
     
    	// Je sauvegarde une nouvelle valeur pour ma propriété :
    	ip = "192.168.1.1";
    	prefs.put("IP", ip);
     
    	// Je force la sauvegarde des modifs
    	prefs.flush();

    a++

  17. #17
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    @adiGuba : merci pour cette info, je ne connaissait pas, et cela à l'air assez pratique.

    Je reste juste un peu sceptique sur le fait de ne pas maitriser où les informations sont stockées.

  18. #18
    Membre averti Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Points : 323
    Points
    323
    Par défaut
    Pour précision, Preferences ça correspond à une Map mais avec (certainement) plus d'options ? Quels avantages ça apporte ?
    Un petit n'est pas de trop si le message est utile

    "Vous êtes très nombreux dans votre cas? J'ai jamais pensé que les cons étaient en minorité..."

  19. #19
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Carhiboux Voir le message
    Je reste juste un peu sceptique sur le fait de ne pas maitriser où les informations sont stockées.
    Ca dépend de l'OS, grosso-modo dans la base de registre sous Windows, ou dans un fichier de config sous les autres systèmes...


    Si c'est vraiment gênant tu peux redéfinir le PreferencesFactory et proposer ta propre implémentation assez simplement en héritant d'AbstractPreferences...



    [edit] @Doopeijii : une Map n'est pas conservé à la fin de ton application.
    Alors que tout ce que tu stockes dans les Preferences est automatiquement sauvegardé et récupérable au prochain démarrage de ton application...


    a++

  20. #20
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    ...
    C'est drôle que personne n'ai parler des Preferences.
    ...
    Ben c'est normal, je ne connaissais pas

    Merci pour l'information
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Récupérer le texte tapé dans une cellule d'un DBGrid
    Par dark_geek dans le forum Composants VCL
    Réponses: 7
    Dernier message: 14/06/2012, 14h12
  2. Réponses: 2
    Dernier message: 27/06/2011, 16h07
  3. [AC-2007] Masquer le texte tapé dans une InputBox
    Par Imitator92 dans le forum IHM
    Réponses: 4
    Dernier message: 17/09/2009, 20h12
  4. Réponses: 18
    Dernier message: 03/07/2009, 16h27
  5. Réponses: 7
    Dernier message: 13/01/2007, 16h53

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