Просто обратите внимание, что эти команды могут быть очень разрушительными. Если на репо будет работать больше людей, все они должны будут вытащить новое дерево. Три средних команды не нужны, если ваша цель НЕ уменьшить размер. Поскольку ветвь фильтра создает резервную копию удаленного файла и может оставаться там в течение длительного времени.
$ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch YOURFILENAME" HEAD
$ rm -rf .git/refs/original/
$ git reflog expire --all
$ git gc --aggressive --prune
$ git push origin master --force
Один из способов исправить это - согласно тому, что предложил @ vs97. Но основная причина вашего перехода не работает, потому что вы передаете null imageView, а затем создаете экземпляр ImageView. Сначала создайте экземпляр imageView, а затем передайте его переходу. Также я бы предпочел использовать playFromStart (), а не play () для плавного эффекта.
myImageView = new ImageView();
myImageView.setFitWidth(500);
myImageView.setPreserveRatio(true);
// Create the transition after instantiating myImageView.
FadeTransition ft = new FadeTransition(Duration.millis(1000), myImageView);
slider.valueProperty().addListener((observable, oldvalue, newvalue) -> {
ft.setFromValue(oldvalue.doubleValue());
ft.setToValue(newvalue.doubleValue());
ft.playFromStart();
});
Вы забыли установить узел , к которому должен применяться переход:
slider.valueProperty().addListener((observable, oldvalue, newvalue) -> {
ft.setFromValue(oldvalue.doubleValue());
ft.setToValue(newvalue.doubleValue());
ft.setNode(myImageView); //---> add this
ft.play();
});
Таким образом, вы в основном говорите, что когда вы меняете ползунок, вы хотите записать старое значение получите новое значение и затем примените переход к своему изображению (строго говоря, ImageView, так как ранее в вашем коде вы установили свой узел на myImageView.setImage(image);
).