【问题标题】:JavaFX background SettingJavaFX 后台设置
【发布时间】:2022-01-23 14:07:37
【问题描述】:

我正在制作一个简单的软件来保留体育场座位。我有一个主页希望是登录页面。我有一个简单的设计。透明的背景只是为了给它一个形式。如下图所示。 如您所见,可以在表单后面看到代码。当我登录时,我有一个简单的注销按钮,它再次将我带到相同的 fxml 以加载表单。但这次背景不再透明:。正如你在这里看到的,它是绿色的。默认情况下它是白色的,但我试图让它再次透明。 这是我尝试做的代码:

public void logoutButton (ActionEvent event) throws IOException {
    Parent root = FXMLLoader.load(getClass().getResource("Main.fxml"));
    Stage stage = (Stage)((Node)event.getSource()).getScene().getWindow();
    Scene scene = new Scene(root);
    root.setStyle("-fx-background-color: #20825170;");
    stage.setScene(scene);
}

即使将样式更改为透明也行不通,我试过了。有什么帮助吗?

【问题讨论】:

  • 你不需要设置一个新的场景,你可以重复使用现有的,stage.getScene().setRoot(root);。大概原始场景已经将其填充设置为透明或不透明。此外,您可以在场景中为透明背景设置样式表(如我链接的问题的答案):.root { -fx-background-color: transparent; }

标签: css javafx fxml


【解决方案1】:

当用户退出时,您需要将场景的填充设置为透明 场景.setFill(Color.TRANSPARENT);

编辑

正如@jewelsea 在 cmets 中所说,如果您不更改场景,您不必每次都将场景的填充设置为透明,您可以保持相同的场景并且仅在第一次将填充设置为透明(在应用程序的启动方法中会起作用)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-04
    • 2013-05-15
    • 2020-08-28
    • 2022-09-05
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 2019-05-27
    相关资源
    最近更新 更多