我正在使用以下代码来使用javax.swing.Timer
实现淡入一个JDialog
:
float i = 0.0F;
final Timer timer = new Timer(50, null);
timer.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (i == 0.8F){
timer.stop();
}
i = i + 0.1F;
setOpacity(i);
}
});
timer.start();
Dialog
被漂亮地淡入,效果也很好,但最后出现了 IllegalArgumentException
错误,错误信息如下:
The value of opacity should be in the range [0.0f .. 1.0f]
但问题是,我并没有超出 i = 0.8F
的范围,那么它怎么会成为非法参数呢?
异常出现在这一行:setOpacity(i);
有任何建议或解决方案吗?
setOpacity(float)
,这是Java SE 7中java.awt.Frame
的方法,它是JFrame
的超类。 - Asif