JavaFX ошибка непрозрачности fadetransition - PullRequest
3 голосов
/ 10 марта 2020

Я использую переходы Fade как дочерний элемент Parallel Transition в моем проекте. Я изменил непрозрачность кнопки для своих бизнес-логи c 1 на 0. Когда я изменил нерелевантный стиль ToggleButtons (который не является потомком постепенного или параллельного перехода) с помощью метода setStyle (), несущественные изменения непрозрачности ToggleButton, я думаю, что это с временные рамки перехода, но я не могу разобраться.

Кнопки закрашены красным с этим кодом.

    try {
        if (thePane.getChildren() != null) {
            for (Node node : thePane.getChildren()) {
                if (node instanceof GridPane) {
                    ObservableList<Node> nodes = ((GridPane) node).getChildren();
                    for (Node node1 : nodes) {
                        if (node1 instanceof ToggleButton) {
                            ToggleButton toggle= ((ToggleButton) node1);
                            if (toggle!= null) {
                                if (toggle.getId().equals(id)) {
                                    if (toggle.isSelected()) {
                                        toggle.styleProperty().setValue("-fx-background-color: #ff0000,linear-gradient(#a81010 0%, #ba2525 20%, #ea2525 100%),linear-gradient(#a81010, #ea2525),radial-gradient(center 50% 0%, radius 100%, rgba(214,21,21,0.9), rgba(255,255,255,0));");
                                    } else {
                                        toggle.styleProperty().setValue("-fx-background-color:  #a50000,linear-gradient(#870909 0%, #c93434 20%, #a00303 100%), linear-gradient(#870909, #a00303), radial-gradient(center 50% 0%, radius 100%, rgba(148,114,114,0.9), rgba(255,255,255,0));");
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }   

И добавление некоторых кнопок в FadeTransition в качестве дочернего элемента Paralleltransition для создания fla sh, с этими строками.

    try{
        ToggleButton toggle= getToggleButton();

        FadeTransition fadeTransition = new FadeTransition(Duration.seconds(0.9), toggle);

        fadeTransition.setNode(toggle);
        fadeTransition.setFromValue(10.0);
        fadeTransition.setToValue(0.0);
        fadeTransition.setCycleCount(Animation.INDEFINITE);

        if (fadeTransitionList.get(toggle.getId()) == null) {
            parallelTransition.stop();
            parallelTransition.getChildren().add(fadeTransition);
            parallelTransition.play();
            fadeTransitionList.put(toggle.getId(), fadeTransition);
        }

    } catch (Exception e){
        e.printStackTrace();
    }

Как я уже сказал, изменяются непрозрачные нерелевантные кнопки (которые не были добавлены в ParallelTransition (также FadeTransition)).

Я думаю, что Fade Transition в JavaFX работает для области на экране, и область влияет на не связанные кнопки

Любая помощь будет принята.

...