在下面的代码中需要帮助,我使用JFrame
作为弹出窗口来显示通知,因此当弹出任何新通知时,如果没有鼠标事件,它应该慢慢弹出然后在20秒内消失。 / p>
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new Timer(5000,new ActionListner(){
public void actionPerformed(ActionEvent e){
alpha+=increment;
if(alpha>=225){
alpha=225;
increment=-increment;
}
if(alpha<=0){
alpha=0;
increment=-increment;
}
frame.setForeground(new color(0,0,0,alpha));
}
}).start();
}
});
答案 0 :(得分:3)
而不是
frame.setForeground(new color(0,0,0,alpha));
尝试使用
frame.setBackground(new color(0,0,0,alpha));
根据您在框架上的内容,您需要使用MouseListener
和MouseMotionListener
来监控鼠标事件。然后,您可以使用另一个Timer
,它会在鼠标事件发生时重置。
一旦这个Timer
终于触发,你就会开始淡入淡出循环......
看看: