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 :

jtextArea + mise en forme


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Par défaut jtextArea + mise en forme
    Hello le forum,

    j'ai un programme qui envoie à un jTextArea du texte en continu. Il s'agit d'afficher le trafic sur un serveur.

    J'ai donc une classe qui affiche ce flux :
    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
     
        public FlowFrame(String name, String flow) {
            super();
     
            //Settings.
            this.setSize(550, this.getToolkit().getScreenSize().height-50); //Give the size of the frame.
            this.setTitle(name);
            this.setDefaultCloseOperation(FlowFrame.DISPOSE_ON_CLOSE);
     
            this.flowArea = new JTextArea();
            this.flowArea.setFont(new Font("Arial", 0, 11));
            this.flowArea.setText(flow);
     
            //Put the flow text area in a scrollpane.
            this.scrollPanel = new JScrollPane();      
            this.scrollPanel.setViewportView(this.flowArea);
     
            //Create a clear button.
            this.clearButton = new JButton(Constants.CLEAR);
     
            //Create a follow button.
            this.followButton = new JButton(Constants.UNFOLLOW);
     
            //Create an exit button.
            this.exitButton = new JButton(Constants.EXIT);
     
            //Construct the panel containing the buttons.
            FlowLayout flowLayout1 = new FlowLayout();
            flowLayout1.setHgap(20);
            JPanel buttonPanel = new JPanel(flowLayout1);
     
            //Construct a panel for two buttons.
            FlowLayout flowLayout2 = new FlowLayout();
            flowLayout2.setHgap(100);
            JPanel buttonSubpanel = new JPanel(flowLayout2);
     
            //Add the button to the subpanel.
            buttonSubpanel.add(this.clearButton);
            buttonSubpanel.add(this.followButton);
     
            //Add all the buttons to the panel buttons.
            buttonPanel.add(buttonSubpanel);
            buttonPanel.add(this.exitButton);
     
            //Add the panel buttons and the flow area to the frame.
            this.getContentPane().add(BorderLayout.SOUTH, buttonPanel);
            this.getContentPane().add(BorderLayout.CENTER, this.scrollPanel);
     
            this.setVisible(true);
        }
    Cependant, sur certain serveur le texte qui m'est revoyé est mis en forme et l'affichage ne prend pas en compte certains caractères : \b, <ESC>[^, ...
    J'aimerai que ma fenêtre affiche la mise en forme comme si s'était une fenêtre de putty par exemple.

    Merci de votre coup de main,
    Bap

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Utilises un JTextPane pour çà, le composant JTextArea n'est pas prévu pour faire de la mise en forme.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Par défaut
    Bonjour le forum, sinok,

    merci pour le tuyau.
    Je suis entrain de changer tout ça dans mon programme en remplacant toutes mes variables de type String correspondant au flux reçu par des variables de type Component.

    Je suis coincé pour certaines conversion que je dois faire. Ci-dessous, ma variable buffer (de type String) correspond au flux reçu et je ne sais pas comment la transformer en Component :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     while (sshInput.available() != 0 && Calendar.getInstance().before(endTime)) {
                        //if there are bytes that can be read
                        in.append((char) sshInput.read());
                    }
                    //Get the present response
                    this.buffer = in.toString();
    Sachant que in est de type StringBuffer et sshInput est de type InputStream

    merci d'avance,
    Bap

Discussions similaires

  1. mise en forme de chaine String Dans un jTextArea
    Par kortnor dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 13/01/2007, 16h42
  2. [CR 9] Mise en forme non affichée when null
    Par Yorglaa dans le forum Formules
    Réponses: 2
    Dernier message: 28/06/2004, 17h27
  3. mise en forme rapide d'applets
    Par appletj dans le forum Applets
    Réponses: 11
    Dernier message: 03/06/2004, 13h28
  4. Mise en forme HTML
    Par Regis.C dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 25/04/2004, 11h55
  5. Mise en forme fichier avant Import
    Par jeff37 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/04/2004, 15h16

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