JavaFX如何设置最大/最小窗口大小?

时间:2012-10-02 07:29:53

标签: javafx-2 fxml

setMinSize()是否适用于容器,例如GridPane?我发现在我的程序中GridPane忽略了min。手动调整大小时的大小属性。 这是FXML代码:

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

和控制器类

public class SampleController implements Initializable {

    @FXML
    private GridPane gp;

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

这里有什么问题?是否应该有某种“窗口”最大/最小尺寸?

1 个答案:

答案 0 :(得分:22)

我假设在窗口中,你的意思是Stage(它是Window的子类)。

窗口大小可能与场景的根容器大小不同。您可以将窗口或舞台视为场景中的独立视口,其大小可以大于或小于场景根的最小和最大规格。

要设置舞台的最小或最大尺寸,请设置minHeightminWidthmaxHeightmaxWidth属性。

其他问题的答案

  

舞台可以设置为“适合整个显示器”尺寸吗?

stage.setFullScreen(true)

  

但是如何通过点击标题栏使尺寸与我们制作的尺寸相同?

stage.setMaximized(true)