2012-10-02 5 views
7

Est-ce que setMinSize() fonctionne sur des conteneurs, par exemple GridPane? J'ai trouvé que dans mon programme GridPane ignore min. propriétés de taille tout en redimensionnant manuellement. Voici le code FXML: JavaFX Comment régler la taille de la fenêtre max/min?

<GridPane fx:id="gp" prefHeight="134.0" prefWidth="238.0" xmlns:fx="http://javafx.com/fxml" fx:controller="javafxapplication12.SampleController"> 
    <columnConstraints> 
    <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> 
    <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> 
    </columnConstraints> 
    <rowConstraints> 
    <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> 
    <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> 
    <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> 
    </rowConstraints> 
</GridPane> 

et la classe contrôleur

public class SampleController implements Initializable { 

    @FXML 
    private GridPane gp; 

    @Override 
    public void initialize(URL url, ResourceBundle rb) { 
    gp.setMaxWidth(700); 
    gp.setMinSize(200, 200); 
    } 

Quel est le problème ici? Devrait-il y avoir une sorte de 'fenêtre' max/min?

+1

Comment gagnez-vous que gridpane à la scène? Le conteneur de disposition parent de la grille est important ici. Certains conteneurs présentent leurs enfants alors que d'autres ne le font pas. –

Répondre

18

Je vais supposer que par la fenêtre, vous voulez dire un Stage (qui sous-classe fenêtre).

La taille de la fenêtre peut varier de la taille du conteneur racine de la scène. Vous pouvez considérer une fenêtre ou une scène comme une fenêtre indépendante dans la scène, qui peut être plus grande ou plus petite que les spécifications min et max de la racine de la scène.

Pour définir la taille minimale ou maximale de la scène, il est mis minHeight et minWidth ou maxHeight et maxWidth propriétés.

Réponses aux questions supplémentaires

peuvent la scène être réglé à la taille "tout affichage s'adapter"?

stage.setFullScreen(true)

Mais comment faire la taille même que nous faisons la taille en cliquant sur la barre de titre?

stage.setMaximized(true)

+0

Merci, ça marche vraiment. – Chechulin

+1

Salut. Alors est-ce que je peux placer ces valeurs d'étape dans le dossier de FXML quelque endroit? Y a-t-il un élément par exemple? – will

+2

La scène peut-elle être réglée sur la taille "* fit whole display *"? – will

Questions connexes