web-dev-qa-db-ja.com

JavaFX最大/最小ウィンドウサイズを設定する方法は?

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);
    }   

ここで何が問題になっていますか?ある種の「ウィンドウ」の最大/最小サイズが必要ですか?

8
Chechulin

ウィンドウとは、 ステージ (ウィンドウをサブクラス化する)を意味すると仮定します。

ウィンドウサイズは、シーンのルートコンテナサイズとは異なる場合があります。ウィンドウまたはステージは、シーンルートの最小および最大仕様よりも大きいまたは小さいサイズにすることができるシーンへの独立したビューポートと考えることができます。

ステージの最小サイズまたは最大サイズを設定するには、 minHeight および minWidth または maxHeight および maxWidth プロパティを設定します。

追加の質問への回答

ステージを「ディスプレイ全体にフィット」サイズに設定できますか?

stage.setFullScreen(true)

しかし、タイトルバーをクリックしてサイズを作成するのと同じサイズにする方法はありますか?

stage.setMaximized(true)

24
jewelsea