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

avec Java Discussion :

Le contenu du JTextArea ne s'affiche pas


Sujet :

avec Java

  1. #1
    Membre régulier
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Points : 98
    Points
    98
    Par défaut Le contenu du JTextArea ne s'affiche pas
    Bonsoir,
    j'essaie d'ajouter à ma fenêtre une zone de texte
    mais le texte que je veux afficher ne s'affiche pas
    voici un bout de code
    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
     
    public class Classe extends JFrame implements ActionListener 
    {....
    public static JTextArea zone_de_texte ;
    public static JScrollPane scrollPane; 
     
      	public Classe()   //constructeur
     {...
    		 zone_de_texte = new JTextArea(5,80); 
    		 zone_de_texte.setEditable(false);
    		 zone_de_texte.setLineWrap(true);
    		 zone_de_texte.append("texttttttttttttttttttttt"+System.getProperty("line.separator"));
     
    		    scrollPane = new JScrollPane(zone_de_texte,
    		                     JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
    		                     JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    		   	Panel.add(scrollPane);//j'ajoute mon scrollPane au Panel 
    	}
    public void actionPerformed(ActionEvent e) 
    	{
      JButton x=(JButton)e.getSource();
     
    	   if(x.getText()=="Bouton")
    			{  zone_de_texte.setText("nouv_essai"+System.getProperty("line.separator"));
    }
    }
    ce code m'affiche dans la zone de texte seulement texttttttttttttttttttttt
    mais j'ai besoin d'afficher nouv_essai suite au clique au bouton "Bouton"
    Bein j'ai essayé avec setText et append mais pas de solutions
    j'arrive pas à détecter la source d'erreur
    est ce que quelqu'un peut m'aider ?
    merci d'avance

  2. #2
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Bonjour,

    avez-vous observé le fonctionnement de votre programme en mode débogage ?
    Il est probable que le résultat du test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(x.getText()=="Bouton")
    ne retourne pas true. Ce qui explique pourquoi votre action n'a pas de répercussion.

    En Java, pour tester l'égalité entre String, voyez ceci:http://java.developpez.com/faq/java/...NG_comparaison
    @ bientôt...

    Salut & @+ sur 3W!

  3. #3
    Membre régulier
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Points : 98
    Points
    98
    Par défaut
    Il est probable que le résultat du test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(x.getText()=="Bouton")
    ne retourne pas true. Ce qui explique pourquoi votre action n'a pas de répercussion.

    Bonjour,
    En fait, ce teste marche bien
    Déjà j'ai d'autres instructions qui s'exécutent une fois le bouton est cliqué et ça marche très bien

  4. #4
    Membre régulier
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Points : 98
    Points
    98
    Par défaut
    Ben j'ai essayé avec .equals mais encore le même problème

  5. #5
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par carenamina Voir le message
    Ben j'ai essayé avec .equals mais encore le même problème
    Comme le dis rtg57, vas y par étape.

    Premièrement : Passes en mode débogage en mettant un point d'arrêt à ta ligne incriminée pour voir si tu y arrives ?

    Deuxièmement : Si tu y passes, c'est qu'effectivement le problème vient de ton setText/append. Mais normalement un append() devrait rajouter ton texte à la suite du texte courant.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  6. #6
    Membre régulier
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par Robin56 Voir le message

    Premièrement : Passes en mode débogage en mettant un point d'arrêt à ta ligne incriminée pour voir si tu y arrives ?
    c'est bon
    Citation Envoyé par Robin56 Voir le message
    Deuxièmement : Si tu y passes, c'est qu'effectivement le problème vient de ton setText/append. Mais normalement un append() devrait rajouter ton texte à la suite du texte courant.
    Le problème c'est que le texte que je veux ajouter dans la zone de texte ne s'affiche pas. Néanmoins, j'arrive à le récupérer par getText()

  7. #7
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par carenamina Voir le message
    Le problème c'est que le texte que je veux ajouter dans la zone de texte ne s'affiche pas. Néanmoins, j'arrive à le récupérer par getText()
    D'accord donc il est bien dans les paramètres de ta JTextArea mais celle-ci ne se met pas à jour au niveau de l'affichage.

    Essaye ça après ta mise à jour pour voir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jTextArea.update(jTextArea.getGraphics());
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  8. #8
    Membre régulier
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Points : 98
    Points
    98
    Par défaut
    Non ça n'a pas abouti
    Est ce que cette erreur peut être liée en quelque sorte à scrollPane??

  9. #9
    Membre régulier
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Points : 98
    Points
    98
    Par défaut
    ça m'affole!! je comprends pas pourquoi ça fonctionne dans le constructeur et non plus ailleurs

  10. #10
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Bon j'ai pas d'Eclipse sous la main là donc je le fais à l'instinct ^^ (donc c'est pas tout beau). Si tu fais quelque chose du genre, ça donne quoi :
    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
     
    public class Classe extends JFrame implements ActionListener 
    {
     
      ....
      public JTextArea zone_de_texte ;
      public JButton bouton;
      public JPanel panel;
     
      public Classe()   //constructeur
      {
        ... // mettre le code sur l'implantation du JPanel et de la JFrame ...
        button = new JButton("Bouton de test");
        zone_de_texte = new JTextArea("test "); 
        zone_de_texte.setEditable(false);
        zone_de_texte.setLineWrap(true);
     
        // ton listener du bouton
        button.AddActionCommand("ajout");
        button.AddActionListener(this);
     
        // ajout de tes composants
        panel.add(button);
        panel.add(zone_de_texte);
      }
     
      public void actionPerformed(ActionEvent e) 
      {
        if ("ajout".equals(e.getActionCommand())) {
          zone_de_texte.append("ton nouveau texte");
          System.out.println(zone_de_texte.getText()); // "test ton nouveau ? texte"
      }
    }
    }
    Normalement rien que ça devrait déjà fonctionner (j'ai vérifié sur plusieurs sites sur le net). Je ne crois pas qu'il y ait besoin de demander le rafraichissement.

    Essaye comme mon code est mis sans JScrollBar, avec un exemple très simple comme celui-ci.

    Ou inspire toi de ce lien par exemple
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  11. #11
    Membre régulier
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Points : 98
    Points
    98
    Par défaut
    merci
    ça marche sur ce petit exemple
    Je vais essayer maintenant sur mon 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
    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
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JLayeredPane;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
     
     
    public class BoiteInfo extends JFrame implements ActionListener 
    { 
     
     
    	JButton button;
     
        JLayeredPane pan = new JLayeredPane();
     
        JPanel panel2; 
        JTextArea zone_de_texte;
        public BoiteInfo()
       {
    	setTitle(" Information  ");
    	setSize(300,200);
    	setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
    	setResizable(true); 
    	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    	setAlwaysOnTop(true);//pour garder la fenetre tjs en premier plan
    	Font f = new Font("Comic", Font.BOLD, 16); 
     
    	 zone_de_texte = new JTextArea("test "); 
    	    zone_de_texte.setEditable(false);
    	    zone_de_texte.setLineWrap(true);
    	button=new JButton("Bouton de test");
     
    	panel2=new JPanel(new BorderLayout());
    	panel2.setLayout(new GridLayout(2,1));
    	panel2.setSize(200, 100);
    	panel2.setBackground(Color.blue);
        panel2.add(button);
        panel2.add(zone_de_texte);
    	pan.add(panel2);
    	pan.setOpaque(true); 
    	this.add(pan);
    	// button.AddActionCommand("ajout");
    	    button.addActionListener(this);
    }
     
    	public void actionPerformed(ActionEvent e) {
    		JButton x=(JButton)e.getSource();
    		   if(x.getText()=="Bouton de test")
    		      zone_de_texte.append("ton nouveau texte");
    		      System.out.println(zone_de_texte.getText()); // "test ton nouveau ? texte"
     
    	}
    public static void main (String args[])
    {
    	BoiteInfo boite_information=new BoiteInfo(); 
    	boite_information.setVisible(true); 
    }
    }

  12. #12
    Membre régulier
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Points : 98
    Points
    98
    Par défaut
    Je l'ai résolu
    En fait, c'était un problème d'instanciation de la classe
    j'instancie ma classe deux fois : la première dans actionPerformed et la deuxième dans le main ce qui m'a provoqué cette erreur de JTextArea
    Pour résoudre le problème j'ai supprimé les deux instanciations pour en faire une seule (public static....)
    Merci à vous tous

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

Discussions similaires

  1. [SimpleXML] Problème avec simpleXML : il n'affiche pas le contenu de mon élément
    Par ploxien dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/05/2007, 19h43
  2. [MySQL] Contenu ne s'affiche pas
    Par fourniey dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 17/01/2007, 18h37
  3. Réponses: 2
    Dernier message: 19/06/2006, 14h05
  4. [SimpleXML] Le contenu de mon élément ne s'affiche pas
    Par alliance dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/05/2006, 20h27
  5. contenu qui ne s'affiche pas en entier
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 02/11/2005, 12h34

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