如何重置窗格的不透明度?

时间:2017-09-26 12:48:22

标签: java javafx-8

我是JavaFX的新手。我做了一个fx应用程序,它有一个home和另一个jfxml文件。

这是用于打开另一个jfxmlfile

的HomeContoler.java文件
@FXML
public void actionIngredencesReg(ActionEvent event) {
    try {
        mainHome.setOpacity(0.2);
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Ingrdences.fxml"));
        Parent root1 = (Parent) fxmlLoader.load();
        Stage stage = new Stage();
        stage.initModality(Modality.APPLICATION_MODAL);
        stage.initStyle(StageStyle.UNDECORATED);
        Scene scene = new Scene(root1);
        stage.setScene(scene);
        stage.show();
       // mainHome.setOpacity(1);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

当我点击菜单项时,它会起作用

这是Ingredients.fxml文件的密码

@FXML
Label close_label;

这是一个标签,在这里实施

 @Override
public void initialize(URL url, ResourceBundle rb) {
    close_label.setOnMouseClicked(e -> {
         //this is code for close only science
            Stage stage = (Stage) close_label.getScene().getWindow();
            stage.close();  
        });
} 

但在关闭Ingredients.fxml文件后,home.fxml文件就像这样 [这对我来说不需要] [4]

我想像这样转换home.fxml文件 as like this after closing the ingredient.fxml

我想在关闭ingredient.fxml文件后将home.fxml文件的setOpcaity设置为1

任何人都可以帮我修复它......

1 个答案:

答案 0 :(得分:0)

隐藏舞台时,只需恢复不透明度:

stage.setOnHidden(e -> mainHome.setOpacity(1));