4

シーン ビルダーでいくつかのボタンを使用してシンプルなシーンを設計しました。それについて特別なことは何もありません:

シーンビルダー

私はそれを最初の段階に置きましたが、私には問題ないようです:

サイズ変更可能

しかし、ここで、プライマリ ステージのサイズ変更可能な属性を false に変更すると、シーンが右側と下部で大きくなります。

サイズ変更可能

シーンが右と下で成長しているのはなぜですか? 私の意見では、特別なことは何もありません:

@Override
public void start(Stage stage) throws Exception {
    AnchorPane root = FXMLLoader.load(getClass().getResource("/fxml/start.fxml"));
    Scene scene = new Scene(root);
    stage.setResizable(false);
    stage.setTitle("Game");
    stage.setScene(scene);
    stage.centerOnScreen();
    stage.show();       

}

FXML:

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.net.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>

<AnchorPane fx:id="rootPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="310.0" prefWidth="320.0" xmlns:fx="http://javafx.com/fxml" fx:controller="bla.bla.bla.Controller">
  <children>
    <Button fx:id="btnNewGame" layoutX="10.0" layoutY="10.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="300.0" text="New Game" />
    <Button fx:id="btnLoadGame" layoutX="10.0" layoutY="70.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="300.0" text="Load Game" />
    <Button fx:id="btnEditor" layoutX="10.0" layoutY="130.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="300.0" text="Editor" />
    <Button fx:id="btnProperties" layoutX="10.0" layoutY="190.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="300.0" text="Properties" />
    <Button fx:id="btnExit" layoutX="10.0" layoutY="250.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="300.0" text="Exit" />
  </children>
  <stylesheets>
    <URL value="@start.css" />
  </stylesheets>
</AnchorPane>

そしてCSS:

#rootPane{
-fx-background-color: #333333;
}

.button{
-fx-background-color: #555555;
-fx-text-fill: silver;
-fx-background-radius: 0;
-fx-border-radius: 0;
-fx-border-color: #444444;   
}

前もって感謝します!

4

2 に答える 2

0

私は FXML に詳しくありませんがstage.sizeToScene();、start メソッドで試しましたか?

編集:うまくいかなくてすみません。セバスチャンの回答を読むと明らかになります。

于 2013-08-20T12:54:33.423 に答える