Java swing实现一闪一闪的效果,其实思路只是建立一个线程,在线程中不断地切换你想要显示的图片以此达到闪烁的效果。以下附上主要的代码。
class TwinkledThread extends Thread{
public boolean twinkledFlag=false;
private long currentTimeMillis;
public TwinkledThread(long currentTimeMillis) {
this.currentTimeMillis=currentTimeMillis;
}
@Override
public void run() {
while(!twinkledFlag){
try {
markstationImg= markstation;
Thread.sleep(100);
// 闪动消息的提示图片
markstationImg=null;
Thread.sleep(100);
//此处控制闪烁的时长
if(System.currentTimeMillis()-currentTimeMillis>2000){
twinkledFlag=true;
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
class MyLabel extends JLabel{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2=(Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
if(twinkledBs!=null){
if(markstationImg!=null){
g2.drawImage(markstationImg.getImage(),
twinkledBs.getX(),twinkledBs.getY(), this
);
}
}
}
}
本文介绍如何使用JavaSwing实现界面元素的闪烁效果。通过创建一个自定义线程不断切换图片来达到视觉上的闪烁效果。同时展示了如何在JLabel中绘制这些图片,并控制其闪烁的时间。
191

被折叠的 条评论
为什么被折叠?



