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 :

comment avoir mon GridPane qui prend la dimension de mon "parent"


Sujet :

JavaFX

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut comment avoir mon GridPane qui prend la dimension de mon "parent"
    Bonjour,


    J'ai une application qui charge dans sa classe Main un fxml basé sur un BorderPane dans lequel je mets un menuBar dans sa partie TOP.
    Si dans la partie Center de ce BorderPane je mets un GridPane avec 2 rows et 2 columns, quand j'ouvre l'application mon GridPane remplit toute la fenêtre de mon application et quand je redimensionne l'application, les rangs et les colonnes se redimensionnent en proportion. C'est ça que je veux.

    Mon problème est que je voudrais créer ce GridPane dans un fxml indépendant et ensuite mettre ce fxml au centre de mon borderPane.
    Déjà dans SceneBuilder, mon gridPane ne s'agrandit qu'en fonction des éléments que je mets dedans. ça je peux encore comprendre puisqu'à ce moment je n'ai pas de Parent.

    Mais je n'arrive pas, une fois que je charge mon fxml contenant mon GridPane dans mon BorderPane à ce qu'il prenne tout l'espace disponible et qu'il se redimensionne quand je redimensionne la fenêtre de mon application.

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    M'enfin sans code pour tester...

    Alors en partant de :

    Code XML : 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
    <?xml version="1.0" encoding="UTF-8"?>
     
    <?import java.lang.*?>
    <?import java.util.*?>
    <?import javafx.scene.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>
     
    <BorderPane id="AnchorPane" style="-fx-border-color: red; -fx-border-width: 2;" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1">
        <top>
            <MenuBar>
                <Menu text="File" />
            </MenuBar>
        </top>
        <center>
            <fx:include source="Other.fxml"/>
        </center>
    </BorderPane>

    Code XML : 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
    <?xml version="1.0" encoding="UTF-8"?>
     
    <?import java.lang.*?>
    <?import java.util.*?>
    <?import javafx.scene.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>
     
     
    <GridPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" style="-fx-border-color: green; -fx-border-width: 2;" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.40">
       <rowConstraints>
          <RowConstraints minHeight="10.0" prefHeight="30.0" />
          <RowConstraints minHeight="10.0" prefHeight="30.0" />
       </rowConstraints>
       <columnConstraints>
          <ColumnConstraints minWidth="10.0" prefWidth="100.0" />
          <ColumnConstraints minWidth="10.0" prefWidth="100.0" />
       </columnConstraints>
    </GridPane>

    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
    public class Main extends Application {
     
        @Override
        public void start(Stage primaryStage) throws IOException {
            final URL fxmlURL = getClass().getResource("Main.fxml");
            final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL);
            final Parent root = fxmlLoader.load();
            final Scene scene = new Scene(root, 500, 500);        
            primaryStage.setTitle("test");
            primaryStage.setScene(scene);
            primaryStage.show();
        }
     
        public static void main(String[] args) {
            launch(args);
        }    
    }
    Le GridPane est redimensionné correctement (bordure verte qui fait tout le center).

    Est ce que par hasard tu n'aurais pas plutôt un problème de redimensionnement de colonnes ?
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
    <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par bouye Voir le message
    M'enfin sans code pour tester...

    Oui, je le ferai plus ...
    Et merci d'avoir quand même pris le temps de regarder.

    J'ai repris exactement ton exemple et j'ai juste rajouté gridLinesVisible="true" dans Other.fxml et aussi un petit label/

    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
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <?import java.lang.*?>
    <?import java.util.*?>
    <?import javafx.scene.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>
     
    <GridPane id="AnchorPane" gridLinesVisible="true" prefHeight="400.0" prefWidth="600.0" style="-fx-border-color: green; -fx-border-width: 2;" xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1">
       <rowConstraints>
          <RowConstraints minHeight="10.0" prefHeight="30.0" />
          <RowConstraints minHeight="10.0" prefHeight="30.0" />
       </rowConstraints>
       <columnConstraints>
          <ColumnConstraints minWidth="10.0" prefWidth="100.0" />
          <ColumnConstraints minWidth="10.0" prefWidth="100.0" />
       </columnConstraints>
       <children>
          <Label text="Label" GridPane.columnIndex="1" GridPane.rowIndex="1" />
       </children>
    </GridPane>
    On a alors l'impression que la grille ne prend pas tout l'espace parce que les rows et columns restent à leur prefSize.

    Bien que la grille prends toute la fenêtre comme ton bord vert l'indique.

    Il faut alors faire comme tu as dit pour avoir les lignes et les colonnes qui remplissent tout: hgrow="ALWAYS" et vgrow="ALWAYS".

    Merci pour cette explication

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/08/2009, 18h20
  2. [DW 8 & antérieurs] comment faire une page qui se lance automatiquement dans mon site
    Par dj_techno dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 10/04/2009, 09h54
  3. JDialog qui prend le background de mon JPanel
    Par LoLoLem dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 10/12/2007, 11h09
  4. Comment avoir une appli qui se passe d'install d'un client oracle?
    Par korntex5 dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/06/2007, 14h57
  5. JTable qui prend la dimension de la fenêtre.
    Par maxlegrand dans le forum Composants
    Réponses: 1
    Dernier message: 18/06/2007, 10h20

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