2012-10-02 8 views
7

Arbeitet setMinSize() an Containern, GridPane zum Beispiel? Ich habe festgestellt, dass in meinem Programm GridPane min ignoriert. Größeneigenschaften, während die Größe manuell geändert wird. Hier ist der FXML Code: JavaFX Wie setze ich die maximale/minimale Fenstergröße?

<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> 

und die Controller-Klasse

public class SampleController implements Initializable { 

    @FXML 
    private GridPane gp; 

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

Was ist hier falsch ist? Sollte es eine Art "Fenster" Max/Min Größe geben?

+1

Wie fügen Sie diese gridpane zu der Szene? Der übergeordnete Layout-Container des Gridpanels ist hier wichtig. Einige Container gestalten ihre Kinder, andere nicht. –

Antwort

18

Ich gehe davon aus, dass mit Fenster meinst du eine Stage (welche Unterklassen Window).

Die Fenstergröße kann von der Größe des Stammcontainers für die Szene abweichen. Sie können sich ein Fenster oder eine Bühne als unabhängiges Ansichtsfenster in die Szene vorstellen, das größer oder kleiner als die Min- und Max-Spezifikationen des Szenenstamms sein kann.

Um die minimale oder maximale Größe der Bühne gesetzt, setzen Sie es minHeight und minWidth oder maxHeight und maxWidth Eigenschaften.

Antworten auf weitere Fragen

Kann die Stufe eingestellt werden Größe auf "ganze Display passen"?

stage.setFullScreen(true)

Aber wie die Größe, wie gleich zu machen, wie wir Größe, indem sie auf der Titelleiste klicken?

stage.setMaximized(true)

+0

Danke, das funktioniert wirklich. – Chechulin

+1

Hallo. Also kann ich diese Bühnenwerte in der FXML-Datei irgendwo einstellen? Gibt es zum Beispiel ein Element? – will

+2

Kann die Bühne auf "* fit gesamte Anzeige *" Größe eingestellt werden? – will