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

Che*_*lin 9 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>
Run Code Online (Sandbox Code Playgroud)

和控制器类

public class SampleController implements Initializable {

    @FXML
    private GridPane gp;

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

这有什么不对?应该有某种"窗口"最大/最小尺寸?

jew*_*sea 25

我将假设在窗口中,您指的是一个Stage(子类Window).

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

要设置舞台的最小或最大大小,请设置它的minHeightminWidthmaxHeightmaxWidth属性.

其他问题的答案

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

stage.setFullScreen(true)

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

stage.setMaximized(true)

  • 你好.那么我可以在某些地方在FXML文件中设置这些阶段值吗?例如是否有<stage>元素? (2认同)
  • 舞台可以设置为"*适合整个显示器*"大小吗? (2认同)