<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    淡入淡出式顯示Swing容器組件(轉)

           轉自:http://blog.sina.com.cn/swingjava
           淡入淡出式彈出Swing Popup窗口,其實對于任何Swing容器組件而言都可以實現這一功能。使用Renderer渲染機制,在容器的paint方法中設置圖形對象的透明屬性,就可以實現容器組件自身和子組件的透明渲染。如果再將這個過程漸變化,就能實現容器顯示淡入淡出效果。

    /**
    * 淡入淡出式顯示內容組件的容器
    *
    * 將GlassBox類作為JFrame的ContentPane就能實現窗口內容顯示的淡入淡出效果。
    * GlassBox更常見的使用方式是作為普通容器,放在應用程序的任何地方。本文附帶的演  * 示程序是將GlassBox是作為普通容器加入JFrame的ContentPane內的。
    *
    @author William Chen
    */

    public class GlassBox extends JComponent implements ActionListener{
    //常數定義
    private static final int ANIMATION_FRAMES=50;
    private static final int ANIMATION_INTERVAL=10;
    //幀索引
    private int frameIndex;
    //時鐘
    private Timer timer;

    /** Creates a new instance of GlassBox */
    public GlassBox() {
    }



    public void paint(Graphics g){
    if(isAnimating()){
    //根據當前幀顯示當前透明度的內容組件
    float alpha=(float)frameIndex/(float)ANIMATION_FRAMES;
    Graphics2D g2d
    =(Graphics2D)g;
    g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
    //Renderer渲染機制
    super.paint(g2d);
    }
    else{
    //如果是第一次,啟動動畫時鐘
    frameIndex=0;
    timer
    =new Timer(ANIMATION_INTERVAL, this);
    timer.start();
    }

    }

    //判斷當前是否正在進行動畫
    private boolean isAnimating(){
    return timer!=null &amp;&amp; timer.isRunning();
    }

    //關閉時鐘,重新初始化
    private void closeTimer() {
    if(isAnimating()){
    timer.stop();
    frameIndex
    =0;
    timer
    =null;
    }

    }

    //動畫時鐘處理事件
    public void actionPerformed(ActionEvent e) {
    //前進一幀
    frameIndex++;
    if(frameIndex&gt;=ANIMATION_FRAMES)
    //最后一幀,關閉動畫
    closeTimer();
    else//更新當前一幀
    repaint();
    }

    }

    posted on 2007-08-20 20:07 Reg 閱讀(618) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2007年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆檔案

    相冊

    朋友們的鏈接

    經常能找到我的地方..

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 666精品国产精品亚洲| 亚洲成a人片在线观看无码 | 四虎影院免费视频| 亚洲成a人片在线看| 美女视频黄a视频全免费| 精品亚洲成A人无码成A在线观看| 亚洲电影在线免费观看| 亚洲人成电影院在线观看| 国内精品乱码卡1卡2卡3免费| 亚洲一区二区三区高清不卡| 日本一道高清不卡免费| 全部一级一级毛片免费看| 国产国拍亚洲精品福利 | 日本高清免费观看| 亚洲图片一区二区| 在线观看成人免费视频不卡| 男人天堂2018亚洲男人天堂 | 亚洲色欲久久久综合网| 日本免费久久久久久久网站| 亚洲小说图片视频| 韩国日本好看电影免费看| 青青青视频免费观看| 亚洲高清国产AV拍精品青青草原| 8x网站免费入口在线观看| 久久精品国产亚洲AV久| 免费在线观看a级毛片| 少妇性饥渴无码A区免费 | 免费下载成人电影| 牛牛在线精品免费视频观看| 久久久久亚洲精品男人的天堂 | 久久精品免费观看国产| 亚洲国产综合精品中文第一| 亚洲人成电影网站国产精品| 99re6免费视频| 亚洲av日韩av永久无码电影| 亚洲精品无码国产| 在线观看视频免费国语| 手机看片国产免费永久| 在线观看亚洲AV日韩A∨| 亚洲中文字幕无码爆乳AV| 我们的2018在线观看免费高清|