2012-10-02 34 views
7

¿SetMinSize() funciona en contenedores, GridPane, por ejemplo? He encontrado que en mi programa GridPane ignora min. propiedades de tamaño mientras se redimensiona manualmente. Este es el código FXML: JavaFX ¿Cómo establecer el tamaño máximo/mínimo de la ventana?

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

y la clase del controlador

public class SampleController implements Initializable { 

    @FXML 
    private GridPane gp; 

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

¿Qué pasa aquí? ¿Debería haber algún tipo de tamaño 'ventana' máximo/mínimo?

+1

¿Cómo estás añadiendo que gridpane a la escena? El contenedor de diseño principal de la parrilla es importante aquí. Algunos contenedores distribuyen sus hijos mientras que otros no. –

Respuesta

18

Voy a suponer que por ventana, te refieres a Stage (que subclases Ventana).

El tamaño de la ventana puede variar del tamaño del contenedor raíz para la escena. Puede pensar en una ventana o escenario como una ventana gráfica independiente en la escena que puede ser más grande o más pequeña que las especificaciones mínima y máxima de la raíz de la escena.

Para establecer el tamaño mínimo o máximo de la etapa, establecer que es minHeight y minWidth o maxHeight y maxWidth propiedades.

respuestas a las preguntas adicionales

Puede la Etapa pueden configurar para "encajar pantalla entera" tamaño?

stage.setFullScreen(true)

Pero, ¿cómo hacer que el tamaño como lo mismo que hacemos tamaño haciendo clic en la barra de título?

stage.setMaximized(true)

+0

Gracias, eso realmente funciona. – Chechulin

+1

Hola. Entonces, ¿puedo establecer estos valores de etapa en el archivo FXML en algún lugar? ¿Hay un elemento por ejemplo? – will

+2

¿Se puede establecer el escenario en el tamaño "* ajuste toda la pantalla *"? – will

Cuestiones relacionadas