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 :

Scroll automatique pendant DragAndDrop


Sujet :

AWT/Swing Java

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Scroll automatique pendant DragAndDrop
    Bonjour,

    Voici ma fenêtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    +-------------------+------------------------+ 
    |               JScrollPane                  | 
    | +----------------+ +----------------+      |  +----------------+
    | |    JPanel      | |    JPanel      |      |  |    JPanel    | |
    | | +------------+ | | +------------+ |      |  | +------------+ |
    | | |   JLabel   | | | |    JLabel  | |      |  | |    JLabel  | |
    | | |   JLabel   | | | |    JLabel  | |      |  | |    JLabel  | |
    | | +------------+ | | +------------+ |      |  | +------------+ |
    | +----------------+ +----------------+  ... |  +----------------+
    +-------------------+------------------------+
    Je peux avoir jusque 100 JPanel tous en ligne, et le scrollpane est là pour en afficher quelques uns (style 5). L'ascenseur horizontal apparaît et marche, parfait.
    Ensuite j'ai récupéré du code pour faire du drag and drop d'un JPanel sur un autre (ce que je fais pour les curieux c'est d'inverser les 2 JLabel en cause dans le drag and drop). Mon drag and drop marche très bien tant que les 2 Jpanel en cause sont affichés dans le meme ViewPort... par contre je en peux pas faire un drag ici pour un drop sur un JPanel masqué par le ScrollPane !!!
    En gros je ne sais pas comment faire pour que l'ascenseur bouge seul alors que j'ai le bouton droit de la souris enfoncé (en cours de dragndrop ou glisser déposer).

    J'ai fouillé en vain :
    monJscrollPane.scrollRectToVisible(new Rectangle(0,dimConv.height - 1,dimConv.width,1)); // comment récupérer les coordonnées de la cible ??

    comment détecter que ma souris appuyée et située en bord de JScroll veut dire vas-y bouge toi ascenseur ???

    Merci

  2. #2
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Points : 173
    Points
    173
    Par défaut
    ta essai le autoscroll(true).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Oui j'ai essayé mais en vain. Si je comprends, la méthode setAutoscrolls(boolean) permet de ne plus hériter et coder soi même l'autoscroll via une interface AutoScroll de l'awt, oui ?

    Mais sur quel objet positionner cette méthode, voici mon code pour créer le schéma ci-dessus (MIS A PART que j'avais oublié un Gros JPanel qui englobe les différents sous JPanel).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    grosJPanel = new JPanel();
    grosJPanel.setLayout(new GridLayout(3, 8));
    for (int i = 0; i < imagePanels.size(); i++) {
     grosJPanel.add((JPanel) imagePanels.get(i));
    }
     
    //Creates a ScrollPane
    JScrollPane pictureScroller = new JScrollPane();
    pictureScroller.getViewport().add(grosJPanel);
    pictureScroller.setAutoscrolls(true);
    grosJPanel.setAutoscrolls(true);
    Mais rien ne bouge lors de mon drag and drop ... snif. Merci de votre aide ...

  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Points : 173
    Points
    173
    Par défaut
    Le autoScroll() du JScrollPane existe par defaut, ta pas besoin de le fair sur lui, tu devrai le posé plutot dans les JPanel commen ca si les label sont plus grand que le JPanel il devrai ajouté un scroller pour afficher les autre parti des label qui ne sont pas visible.
    En bref essai le autoScroll aussi sur les JLabel, ca devrai marcher.

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse, toutefois, vu ce que tu m'écris, je sens que tu n'as pas saisi mon besoin....
    Je ne veux pas faire apparaître un scrollbar autour de chaque panel automatiquement (c'est donc uniquement cela le rôle de setAutoScrolls(boolean) ??) .. moi ce que je veux c'est QUAND je fais un drag and drop d'un de mes JPanel (voir schéma), je veux que le JScrollPane qui les englobe tous autorise un déplacement automatique pour faire le drop dans un endroit caché du viewport.... hors aujourd'hui impossible il ne bouge pas son viewport.. je ne peux dropper que dans le viewport.

  6. #6
    Membre actif

    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Points : 229
    Points
    229
    Par défaut
    peut etre que ca peut aider
    http://www.jroller.com/page/santhosh?entry=scrolling_swing_component_during_dnd

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

Discussions similaires

  1. scrolling automatique avec QListWidget
    Par kanigoo dans le forum Qt
    Réponses: 2
    Dernier message: 03/12/2006, 06h47
  2. Effectuer un scrolling automatique
    Par chandlerbing77 dans le forum Access
    Réponses: 1
    Dernier message: 24/08/2006, 17h44
  3. Scroll automatique d'un div
    Par keisuke dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 22/08/2006, 12h09
  4. Swing::scroll automatique à l'exécution
    Par cleger74 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 19/04/2006, 16h21
  5. Scroll automatique dans un JTextPane
    Par regbegpower dans le forum Composants
    Réponses: 9
    Dernier message: 11/11/2003, 09h24

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