问题描述
logbt.setRolloverIcon(icon3);logbt.setRolloverIcon(icon4);这里有icon3,icon4两张图片,如何做到鼠标悬浮在按钮上方时,使按钮依次变化两张图片? 问题补充:Rainbow702 写道
解决方案
为了保证线程安全,你可以使用SwingUtilities类的invokeLater()或invokeAndWait()方法:SwingUtilities.invokeLater(new Runnable() { public void run() { try{ Thread.sleep(1500); } catch (Exception e) { } logbt.setRolloverIcon(icon4); } });
解决方案二:
引用我是这样做的 不能这么做的,你需要新起一个线程:new Thread(new Runnable() { public void run() { try{ Thread.sleep(1500); } catch (Exception e) { } logbt.setRolloverIcon(icon4); }}).start();这个方法虽然可行,但不是安全的,因为swing本身就是非线程安全的,所以一般绘制UI的操作需要放在主线程中。
解决方案三:
引用对啊,没法连续,请问如何实现啊?其实你设置背景为B的那个操作还是被执行的,不过只是一瞬间的事,立马被C给取代了,你要想看到先被设置成B再被设置成C的效果的话,可以在设置背景为B之后,另起一个线程,这个线程的作用仅是:睡眠一段时间(时间你自己决定),之后,去改变按钮的背景。这样做即可看到,背景先是被设置为了B再被设置为C的过程,但从B至C的变化之间,没有任何渐变效果的。
解决方案四:
引用我已经成功的实现了悬浮时候图像变化,可是不知道如何实现连续变化两次。 比如,你原先的是A,你想当鼠标移至按钮上面的时候,背景先变为 B,再变为 C,是吧。看看你现在的实现,是不是直接从A变为C了?
解决方案五:
你有没有调用setRolloverEnabled(true);如果还是不行,你试试给这个按钮加个鼠标监听器,即调用addMouseListener()
解决方案六:
引用使按钮依次变化两张图片是不是说,只要鼠标在上面,那么就一直不停地在这两张图片之间进行切换,还是只要切换一次就可以了?
解决方案七:
你这是啥里面的按钮?Android 还是 HTML?