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

JavaFX Discussion :

Scrollbar et layout group


Sujet :

JavaFX

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 80
    Points : 46
    Points
    46
    Par défaut Scrollbar et layout group
    Bonjour à tous,

    voilà j 'ai un petit souci qui m'ennui si quelqu'un peut m'aider s'il vous plait, merci

    donc j'ai un layout group qui contient une VBox(qui elle contient plusieurs ImageView) ainsi qu'une ScrollBar pour pouvoir faire défiler les images: jusque là ca fonctionne voici le 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
     
       public class L extends Application {
     
        @Override
        public void start(Stage primaryStage) {
     
              ScrollBar scroll = new ScrollBar();
            List<ImageView> images = new ArrayList();
            VBox vbox = new VBox();
            Group group = new Group();
            //group.setLayoutX(100);
     
     
            group.getChildren().addAll(vbox,scroll);
     
            Scene scene = new Scene(group,800,132);
            primaryStage.setScene(scene);
            primaryStage.setResizable(false);
     
             vbox.setLayoutX(20);
             vbox.setSpacing(20);
     
            scroll.setLayoutX(scene.getWidth()-scroll.getWidth());
            scroll.setOrientation(Orientation.VERTICAL);
     
            scroll.setPrefHeight(122);
     
           scroll.setMax(7*(122+vbox.getSpacing()));
     
     
            for(int i=0; i < 8; i++) {
               ImageView image = new ImageView("example/b"+i+".png");
                 image.setFitHeight(122);
                image.setFitWidth(122);
     
                images.add(image);
                vbox.getChildren().add((images.get(images.size()-1)));
     
            }
     
            scroll.valueProperty().addListener(new ChangeListener<Number>() {
                public void changed(ObservableValue<? extends Number> ov,
                        Number old_val, Number new_val) {
                        vbox.setLayoutY(-new_val.doubleValue());
                }
            });
     
             primaryStage.show();
     
     
     
        }
     
     
        /**
         * @param args the command line arguments
         */
     
        public static void main(String[] args) {
            launch(args);
        }
     
    }

    maintenant ce que j'aimerai faire c'est placer mon Layout Group dans un BorderPane pour placer ce layout group dans BroderPane.bottom et là ca part en cacachuete le scrollbar ne fonctionne plus : voici un schéma de ce que j 'essaie de faire Nom : schema uno.png
Affichages : 426
Taille : 21,9 Ko


    et voici le code qui ne fait pas ce que j 'attends :




    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
     
       public class L extends Application {
     
        @Override
        public void start(Stage primaryStage) {
     
              ScrollBar scroll = new ScrollBar();
            List<ImageView> images = new ArrayList();
            VBox vbox = new VBox();
            Group group = new Group();
            BorderPane pane = new BorderPane();
            pane.setBottom(group);
            //group.setLayoutX(100);
     
     
            group.getChildren().addAll(vbox,scroll);
     
            Scene scene = new Scene(pane,800,132);
            primaryStage.setScene(scene);
            primaryStage.setResizable(false);
     
             vbox.setLayoutX(20);
             vbox.setSpacing(20);
     
            scroll.setLayoutX(scene.getWidth()-scroll.getWidth());
            scroll.setOrientation(Orientation.VERTICAL);
     
            scroll.setPrefHeight(122);
     
           scroll.setMax(7*(122+vbox.getSpacing()));
     
     
            for(int i=0; i < 8; i++) {
               ImageView image = new ImageView("example/b"+i+".png");
                 image.setFitHeight(122);
                image.setFitWidth(122);
     
                images.add(image);
                vbox.getChildren().add((images.get(images.size()-1)));
     
            }
     
            scroll.valueProperty().addListener(new ChangeListener<Number>() {
                public void changed(ObservableValue<? extends Number> ov,
                        Number old_val, Number new_val) {
                        vbox.setLayoutY(-new_val.doubleValue());
                }
            });
     
             primaryStage.show();
     
     
     
        }
     
     
        /**
         * @param args the command line arguments
         */
     
        public static void main(String[] args) {
            launch(args);
        }
     
    }

  2. #2
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 212
    Points : 184
    Points
    184
    Par défaut
    essayer d'utiliser ScrollPane:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            VBox vBox = new VBox(...);
            ScrollPane scrollPane = new ScrollPane(vBox);
            scrollPane.setFitToWidth(true);
            borderPane.setBottom(scrollPane);

  3. #3
    Membre habitué Avatar de bygui
    Homme Profil pro
    PLM/ALM
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : PLM/ALM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 185
    Points
    185
    Par défaut
    Bonjour win_ubuntu,

    Juste une petite remarque
    Je pense que VBox étend de la librairie swing, il serait peut être intéressant de changer tes objets graphiques qui utilise seulement awt actuellement.

  4. #4
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 212
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par bygui Voir le message
    Je pense que VBox étend de la librairie swing
    Tu plaisante ou quoi?

  5. #5
    Membre actif
    Avatar de guatto
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 179
    Points : 226
    Points
    226
    Par défaut
    Citation Envoyé par bygui Voir le message
    Je pense que VBox étend de la librairie swing
    Je ne pense pas que ça soit le cas, VBox est un layout, ou plus exactement un des built-in layout qui héritent de l'objet Pane. et à ma connaissance c'est du pur JavaFX.

    Concernant la question posée, la réponse de "win_ubuntu" me semble la plus adaptée à ton problème, et si t'as difficultés avec ce composant, je t'invite à jeter un coup d’œil sur un tout petit tuto que j'ai fait sur le fonctionnement de ce dernier ainsi que sa personnalisation. le voici : ScrollPane

  6. #6
    Membre habitué Avatar de bygui
    Homme Profil pro
    PLM/ALM
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : PLM/ALM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 185
    Points
    185
    Par défaut
    Mea Culpa!

    J'aime faire avancer les discussions.
    Désolé, j'avais vu dans le cadre d'un projet Swing et je n'ai pas poussé plus loin.
    Je vais me jeter moi même des pierres!

Discussions similaires

  1. [Flex4] Layout et Group
    Par Elendhil dans le forum Flex
    Réponses: 4
    Dernier message: 20/10/2011, 14h45
  2. [Layout] Centrer un groupe de View horiontalement
    Par tails dans le forum Composants graphiques
    Réponses: 9
    Dernier message: 30/11/2010, 14h44
  3. Problème avec les Groupe layout
    Par LaurineD dans le forum Général Java
    Réponses: 0
    Dernier message: 01/05/2010, 18h03
  4. Réponses: 3
    Dernier message: 06/01/2010, 14h11
  5. [Listbox] ScrollBar Horizontal
    Par haleem dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/04/2005, 07h53

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