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

AWT/Swing Java Discussion :

descendre un jscrollbar vertical au maximum


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut descendre un jscrollbar vertical au maximum
    Bonjour,


    j'ai un ScrollPane avec une JtextArea dedans.
    je voudrais que quand du texte est ajouté a la JTextArea la scrollBar verticale descende directement au max en bas.

    J'ai essayé ça dans ma méthode qui fait des ajouts de texte dans la texteArea. C'est la seule méthode qui ajoute du texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    runGui.getJTextArea().setText(runGui.getJTextArea().getText()+"\n"+MonInfoAInserer);
    					runGui.getJScrollPane().getVerticalScrollBar().setValue(runGui.getJScrollPane().getVerticalScrollBar().getMaximum());
    mais sans succes . Il reste toujours un petit espace en bas.

    J'ai vu dans l'API que getMaximum() retourne le max moins un extent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    getMaximum() :
              The maximum value of the scrollbar is maximum - extent.
    C'est peut etre ça le truc qui empeche la scrollbar de descencre a fond?

    Auriez vous une astuce?

    Merci d'avance.

  2. #2
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    j'ai essayé avec un sleep entre le moment ou je mets a jour la texteArea et celui ou je descends le curseur. Mais là ça bug dans tous les sens .
    J'ai des lignes qui s'affichent en double jusqu'à ce que le curseur descende par exemple...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 43
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    je ne sais pas si ça peut t'aider (je ne m'étais jamais posé cette question) mais il y a les méthodes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int getVisibleAmount() 
              Returns the scrollbar's extent, aka its "visibleAmount". 
    
    void setVisibleAmount(int extent) 
              Set the model's extent property.
    Soit tu mets l'extent à zéro (sans garantie ...) soit tu en tiens compte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    runGui.getJScrollPane().getVerticalScrollBar().setValue(runGui.getJScrollPane
    ().getVerticalScrollBar().getMaximum() + runGui.getJScroll
    Pane().getVerticalScrollBar().getVisibleAmount());
    Je ne sais pas si ça marche mais bon tu peux toujours essayer !

  4. #4
    Membre habitué Avatar de titus55
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 115
    Points : 136
    Points
    136
    Par défaut
    Bonjour,
    j'utilise la méthode suivante qui fonctionne bien chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textarea.setCaretPosition(textarea.getText().length());

  5. #5
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    OK merci a tous les deux.

    j'avais déja essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    runGui.getJScrollPane().getVerticalScrollBar().setValue(runGui.getJScrollPane
    ().getVerticalScrollBar().getMaximum() + runGui.getJScroll
    Pane().getVerticalScrollBar().getVisibleAmount());
    -> ça ne change rien.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    textarea.setCaretPosition(textarea.getText().length());
    -> sympa mais ça va aussi à l'extrémité horizontale. Seule la verticale m'interessait en fait.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setVisibleAmount(0) ;
    ->NIKEL !!

    merci encore !!

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

Discussions similaires

  1. Maintenir JScrollBar au maximum
    Par CliffeCSTL dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 05/02/2013, 13h43
  2. Descendre automatiquement un JscrollBar
    Par Micke7 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 19/11/2008, 14h31
  3. scrolling vertical et horizontal
    Par myriam dans le forum MFC
    Réponses: 2
    Dernier message: 24/01/2003, 17h06
  4. vertex vertices
    Par gRRosminet dans le forum OpenGL
    Réponses: 2
    Dernier message: 05/11/2002, 03h04

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