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 :

JScrollPane position ascenseur


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut JScrollPane position ascenseur
    Bonjour,

    Je débute en java.... alors d'avance pardon pour cette question.
    Je voudrais modifier la position de l'ascenseur d'une JScrollPane et je n'y arrive pas.
    Y a t-il une méthode capable de faire cela ?

    Est ce possible ?

    Merci d'avance.

  2. #2
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    scrollPane.getVerticalScrollbar().setValue(...)
    Romain Guy
    Android - Mon livre - Mon blog

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 46
    Points
    46
    Par défaut
    J'ai essayé cette méthode et ça ne fonctionne pas ici.

    J'ai aussi essayé d'autres façons et je n'arrive toujours pas à changer la position de l'ascenseur

    http://www.codeguru.com/forum/showth...hreadid=295333
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    JTextArea m_resultArea = new JTextArea(30,51);
    JScrollPane scrollingArea = new JScrollPane(m_resultArea);
    m_resultArea.setText(texte);
    scrollingArea.getVerticalScrollBar().setValue(1);
    Peut-être je ne fais pas les opérations dans le bon ordre?

    Je veux que l'ascenseur soit en haut et non en bas.


    g0ldenrno

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    Essaye :
    m_resultArea.setCaretPosition(0);
    ça te positionne l'ascenseur en haut.

    Si tu veux le positionner ailleurs sans utiliser le caret, là par contre ça se gâte. Je confirme que :
    scrollPane.getVerticalScrollbar().setValue(...);
    ca ne marche pas, ça fait un moment que je cherche mais pas moyen...

  5. #5
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Peut-être ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Point p = ...;
    tonScrollPane.getViewport().setViewPosition(p);

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Quelqu'un a t-il trouve la solution?

    Je suis ds le meme cas sauf que je souhaite à l'inverse que mon scrollpane reste en bas pour mettre en place un tchat!

    Aucune des solutions proposées résoud mon problème.

    Merci d'avance

  7. #7
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    Salut,
    j'ai eu le même problème avec un JScrollPane contenant une JTextArea.
    J'ai testé de déplacer la JScrollBar avec un setValue et en y passant sa value min... Sans grand succès.
    J'ai abordé le prob différemment. Le truc c'est que quand j'envois du texte, le curseur se positionne à la fin de la JTextArea ce qui fou la scroll bar en bas.
    Donc, j'ai simplement foutu un listener qui après changement du text, met le curseur au début.
    Du coup ma scroll bar se met au début.

    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
     
         /**
         * The <code>PropertyChangeCaretListener</code> class.
         */
        private class PropertyChangeCaretListener implements PropertyChangeListener {
     
            /**
             * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
             */
            public void propertyChange(PropertyChangeEvent evt) {
                Object obj = evt.getSource();
                if (obj instanceof JTextArea && obj != null){
                    ((JTextArea) obj).setCaretPosition(0);
                }
     
            }
     
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    textArea.addPropertyChangeListener(new PropertyChangeCaretListener());
    Pour mettre la position à la fin je ferai :

    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
     
      /**
         * The <code>PropertyChangeCaretListener</code> class.
         */
        private class PropertyChangeCaretListener implements PropertyChangeListener {
     
            /**
             * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
             */
            public void propertyChange(PropertyChangeEvent evt) {
                Object obj = evt.getSource();
                if (obj instanceof JTextArea && obj != null){
                    JTextArea textArea = (JTextArea) obj;
                    // A TESTER...
                    textArea.setCaretPosition(textArea.getSelectionEnd());
                }
     
            }
     
        }
    Je n'ai pas tester pour la position en fin.
    Maintenant si dans ton JScrollPane, dans le cas d'un chat, tu as une JTextArea en haut et un JTextField en bas. Des que tu vas ajjouter un texte dans ton area, le focus va etre en haut donc la bar va remonter. Soit tu désactive l'auto scroll de ta JScrollBar (ce qui est le plus propre mais quand j'ai essayé j'ai eu des merdes), Soit tu joues sur les composants et tu fou ton focus sur le composant du bas à savoir le JTextField.

    Bon courage !!

  8. #8
    Membre du Club
    Homme Profil pro
    Ingénieur bioinformaticien
    Inscrit en
    Avril 2010
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur bioinformaticien
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 139
    Points : 49
    Points
    49
    Par défaut
    J'ai trouvé cette ligne de commande toute simple :

    ton_JTextArea.setCaretPosition(0);

    Cela fonctionne très bien !

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

Discussions similaires

  1. JScrollPane : l'ascenseur ne bouge pas
    Par Alcooline dans le forum Débuter
    Réponses: 3
    Dernier message: 23/11/2011, 15h19
  2. Position ascenseur dans div
    Par bonsaiko dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/07/2011, 21h06
  3. Problème JScrollPane position haute
    Par Hefgé dans le forum Composants
    Réponses: 1
    Dernier message: 15/03/2011, 12h20
  4. [WD14] Position ascenseur sur fenêtre MDI
    Par wojc01 dans le forum WinDev
    Réponses: 4
    Dernier message: 12/08/2009, 07h36
  5. [JScrollPane] position du Jtable contenu
    Par fraoustin dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 13/10/2004, 22h29

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