JavaFx: 在FXML文件中设置窗口标题

8

我刚开始使用JavaFx开发一个新应用程序。

我知道如何在Java代码中设置窗口标题,但如何在fxml文件中设置呢?

谢谢您的帮助。

编辑: 这是我现有的代码:

@Override
public void start(Stage primaryStage) throws Exception {

    Parent root = FXMLLoader.load(getClass().getResource("Main.fxml"));
    primaryStage.setTitle(applicationName);
    primaryStage.setScene(new Scene(root));
    primaryStage.show();
}

我只想在Main.fxml中设置标题。

1个回答

12

要在FXML中设置舞台的标题,您需要在FXML中构建舞台,就像这样:

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

<?import javafx.scene.layout.VBox?>
<?import javafx.stage.Stage?>
<?import javafx.scene.Scene?>
<?import javafx.scene.control.Label?>

<Stage title="Some Stage">
  <scene>
    <Scene>
      <VBox xmlns:fx="http://javafx.com/fxml">
        <children>
          <Label text="John Doe"/>
        </children>
      </VBox>
    </Scene>
  </scene>
</Stage>

如果你只使用FXML构建场景的根元素(在我的例子中,是VBox),然后像通常一样将其放入场景中,那么就不可能直接在FXML中设置标题(除非使用代码)。


谢谢。对不起给您带来麻烦。 - Ekans
不用道歉,我很高兴能够帮助。 - zhujik
1
请参考 JavaFX 使用替代 FXML 结构作为标题(Stage 是根) 来了解如何使用Sebastian的FXML。 - jewelsea
java.lang.ClassCastException: javafx.stage.Stage cannot be cast to javafx.scene.layout.Pane - m0skit0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接