天天看點

Java swing 實作圖檔閃爍

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();
                            // 閃動消息的提示圖檔
                            markstationImg=null;
                            Thread.sleep();

    //此處控制閃爍的時長                     
                         if(System.currentTimeMillis()-currentTimeMillis>){
                                twinkledFlag=true;
                 }
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
            }
        }
    }
           
class MyLabel extends JLabel{
        /**
         * 
         */
        private static final long serialVersionUID = L;

        @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
                    );
                }
            }
          }      
    }