【发布时间】: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; }。