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 :

[JTextPane] Retour à la ligne


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Par défaut [JTextPane] Retour à la ligne
    J'ai un ptit soucis avec un JTextPane...

    Je commence par mon 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
    // Listener pour capturer l'appuie sur la touche ENTER
            this.jTextPaneSaisie.addKeyListener( new KeyAdapter()
            {
                public void keyPressed( KeyEvent e )
    			{
    			    if( e.getKeyCode()==KeyEvent.VK_ENTER )
    				{
                        System.out.println("Appui sur Enter !");
    			        String mess = ChatFrame.this.jTextPaneSaisie.getText();
    			        try
                        {
                            ChatFrame.this.styleDocDiscussion.insertString(ChatFrame.this.styleDocDiscussion.getLength(),
                                                                            "TrIsCoRp dit...\n",
                                                                            ChatFrame.this.styleDocDiscussion.getStyle("bold"));
                            ChatFrame.this.styleDocDiscussion.insertString(ChatFrame.this.styleDocDiscussion.getLength(),
                                                                            mess + "\n",
                                                                            ChatFrame.this.styleDocDiscussion.getStyle("regular"));
                        }
                        catch (BadLocationException ble)
                        {
                            System.err.println("Couldn't insert initial text into text pane.");
                        }
                        ChatFrame.this.jTextPaneSaisie.setText("");
    				}
    			}
    		});
    Ce code me sert à capturer l'appuie sur la touche ENTRER quand je suis dans un JTextPane.
    Dès que j'appuie sur ENTRER,je dois copier le contenu de mon premier JtextPane et le mettre dans mon second JtextPane (oui, j'ai 2 JTextPane sur ma fenetre)...
    Jusque là, pas de soucis...
    Maintenant, après avoir copié mon contenu, je dois vider le premier JtextPane...
    Pour ça, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChatFrame.this.jTextPaneSaisie.setText("");
    Le JTextPane est bien vidé... mais pas complètement... disons qu'il me rajoute un "\n" au début de la ligne... donc je me retrouve avec le JTextPane avec une ligne vide et le curseur se positionne au début de la seconde ligne...
    en gros le contenu de mon JTextPane est : "\n" (passage à la ligne)...

    Comment faire pour vider completement mon JTextPane??

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9
    Par défaut Il faut peut-être consommé l'événement
    Bonjour,

    Je ne suis pas spécialiste, mais si j'ai bien compris, ton code remplis bien ta fonction, puis fais l'action par défaut : ajout d'un retour chariot.

    Essayes de consommer l'événement avec la fonction consume de InputEvent (super classe de KeyEvent).

    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
    this.jTextPaneSaisie.addKeyListener(new KeyAdapter() {
    	public void keyPressed(KeyEvent e) {
    		if (e.getKeyCode() == KeyEvent.VK_ENTER) {
    			System.out.println("Appui sur Enter !");
    			String mess = ChatFrame.this.jTextPaneSaisie.getText();
    			try {
    				ChatFrame.this.styleDocDiscussion.insertString(
    					ChatFrame.this.styleDocDiscussion.getLength(),
    					"TrIsCoRp dit...\n",
    					ChatFrame.this.styleDocDiscussion.getStyle("bold"));
    				ChatFrame.this.styleDocDiscussion.insertString(
    					ChatFrame.this.styleDocDiscussion.getLength(),
    					mess + "\n",
    					ChatFrame.this.styleDocDiscussion.getStyle("regular"));
    			} catch (BadLocationException ble) {
    				System.err.println(
    					"Couldn't insert initial text into text pane.");
    			}
    			ChatFrame.this.jTextPaneSaisie.setText("");
    			// -----------------------
    			e.consume(); // La ligne à ajouter
    			// -----------------------
    		}
    	}
    });
    A vérifier...

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Par défaut
    Citation Envoyé par ptitom
    Je ne suis pas spécialiste, mais si j'ai bien compris, ton code remplis bien ta fonction, puis fais l'action par défaut : ajout d'un retour chariot.
    Tu n'es pas un spécialiste, mais tu as résolu mon Bug... Merci ptitom

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

Discussions similaires

  1. Retour à la ligne dans un JTextPane
    Par FredericB dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 12/10/2012, 20h00
  2. [JTextPane] Retour ligne en milieu de mot
    Par Ayok13 dans le forum Composants
    Réponses: 2
    Dernier message: 13/12/2011, 17h25
  3. JTextPane et retour à la ligne
    Par tanguy.L dans le forum Composants
    Réponses: 2
    Dernier message: 19/04/2009, 12h47
  4. [JTextPane] Retour à la ligne
    Par Takis dans le forum Composants
    Réponses: 13
    Dernier message: 22/04/2008, 18h49
  5. JTextPane: retour à la ligne sans changement de paragraphe
    Par The Rock dans le forum Composants
    Réponses: 1
    Dernier message: 24/11/2005, 16h02

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