2014-01-22 4 views
1

У меня есть кнопка, которая меняет цвет при наведении курсора, но я хочу сделать этот переход цвета гладким. Как я могу достичь этого эффекта?javafx node style переход

buttonLogin.setOnMouseEntered(new EventHandler<MouseEvent>() { 
      @Override 
      public void handle(MouseEvent e){ 
       buttonLogin.setStyle("-fx-background-color: " 
           + "rgba(1, 147, 255, 0.3);" 
           + "\n-fx-border-color: " 
           + "rgba(1, 147, 255, 0.5);"); 
      } 
     }); 

     buttonLogin.setOnMouseExited(new EventHandler<MouseEvent>() { 
      @Override 
      public void handle(MouseEvent e){ 
       buttonLogin.setStyle("-fx-background-color: " 
           + "rgba(255, 255, 255, 0.5);" 
           + "\n-fx-border-color: " 
           + "rgba(255, 255, 255, 0.8);"); 
      } 
     }); 

Я пробовал использовать fadetransitions, анимацию, но мне было трудно понять. Может кто-нибудь объяснить?

ответ

2

Вам нужно добавить прослушиватель событий, когда мышь курсирует над вашей кнопкой. О остальном, в настоящее время единственным решением, которое я знаю, является here.

Если я не ошибаюсь, с приходом JavaFX 8, разработчики теперь могут создавать анимации с помощью CSS с новым CSS API. В то время я просто изучал это. Пожалуйста, проверьте ссылку here.

Если вам нужно, вы можете получить новую версию JavaFX 8 here.

Если вам повезло, прокомментируйте.

+0

Спасибо за ваш ответ. Я нашел, что решение слишком много хлопот для достижения того, что я хотел, и я не совсем понял его aproach. Поэтому я изменил цветовую схему, чтобы она не повредила глаза, когда она не перешла из цвета в цвет. Придется придерживаться этого, пока не появится более новая версия :) – Taerus

Смежные вопросы