Я пытаюсь сделать специальный эффект на моем JButton: постепенно меняйте цвет фона при наведении курсора и постепенно меняйте его, когда уходите. Я использовал Java Таймер и пробовал много раз. Кажется, я могу делать парение только частично, что именно произошло? Как мне это исправить? Любая помощь будет оценена. Спасибо.
b.addMouseListener(new java.awt.event.MouseAdapter() {
Timer timer;
public void mouseEntered(java.awt.event.MouseEvent evt) {
timer = new Timer();
TimerClass Tclass = new TimerClass(b,26,255,255,0,10);
timer.scheduleAtFixedRate(Tclass, 0, 30);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
timer.cancel();
timer = new Timer();
TimerClass Tclass = new TimerClass(b,26,255,255,100,-10);
timer.scheduleAtFixedRate(Tclass, 0, 30);
}
});
class TimerClass extends TimerTask {
JButton jbu;
int r,b,g, ic;
int p;
boolean gu;
TimerClass(JButton jb, int rr, int bb, int gg, int op, int ii) {
jbu=jb;
r=rr;b=bb;g=gg;
ic=ii;
p=op;
if(op==0){gu=true;}else{gu=false;}
}
@Override
public void run() {
jbu.setBackground(new Color(r,b,g,p));
if((p+ic<100)&&(p+ic>0)){
p+=ic;}else{cancel();}
}
}