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

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

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

    菜刀不行..更換大刀!(JavaSwing 旋轉式關閉窗口);

    這個可是我的愛....無私的奉賢給你們這些看文章不回帖的家伙們!!!!!

    效果圖:




    源碼

     

    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Rectangle;
    import java.awt.Robot;
    import java.awt.Toolkit;
    import java.awt.geom.AffineTransform;
    import java.awt.image.BufferedImage;

    import javax.swing.JComponent;
    import javax.swing.JFrame;
    import javax.swing.JWindow;

    public class Dissolver extends JComponent implements Runnable {
     JFrame frame;
     JWindow fullscreen;
     
    int count;
     BufferedImage frame_buffer;
     BufferedImage screen_buffer;

     
    public Dissolver() { }

     
    public void run() {
      
    try {
       count 
    = 0;
       Thread.currentThread().sleep(
    100);
       
    for(int i=0; i<10; i++{
        count 
    = i;
        fullscreen.repaint();
        Thread.currentThread().sleep(
    100);
       }

      }
     catch (InterruptedException ex) {}
      System.exit(
    1);
     }

     
    public void dissolveExit(JFrame frame) {
      
    try {
       
    this.frame = frame;
       Robot robot 
    = new Robot();
       
       Rectangle frame_rect 
    = frame.getBounds();
       frame_buffer 
    = robot.createScreenCapture(frame_rect);

       frame.setVisible(
    false);

       Dimension screensize 
    = Toolkit.getDefaultToolkit()
             .getScreenSize(); 
       Rectangle screen_rect 
    = new Rectangle(0,0
        screensize.width, screensize.height); 
       screen_buffer 
    = robot.createScreenCapture(screen_rect);

       fullscreen 
    = new JWindow(new JFrame());
       fullscreen.setSize(screensize);
       fullscreen.add(
    this);
       
    this.setSize(screensize);
       fullscreen.setVisible(
    true);

       fullscreen.repaint();
       
       
    new Thread(this).start();
       }
     catch (Exception ex) {
        System.out.println(ex);
        ex.printStackTrace();
       }

      }


    }

    class SpinDissolver extends Dissolver {

     
    public void paint(Graphics g) {
      Graphics2D g2 
    = (Graphics2D)g;

      g.drawImage(screen_buffer,
    -fullscreen.getX(),
       fullscreen.getY(),
    null);
      
      AffineTransform old_trans 
    = g2.getTransform();

      
    // 移動到框架的上面-左手邊角落
      g2.translate(frame.getX(), frame.getY());

      
    // 向左邊將框架移出
      g2.translate(0,
           
    +(count+1* (frame.getX()+frame.getWidth())/20);

      
    // 收縮 frame
      float scale = 1f / ((float)count+1);
      g2.scale(scale,scale);

      
    // 中心的周圍
      g2.rotate(((float)count)/3.14/1.3,
       frame.getWidth()
    /2, frame.getHeight()/2);
      g2.drawImage(frame_buffer,
    0,0,null);
      g2.setTransform(old_trans); 
     }
     
    }


     

     下來沒用一個類來實現他...

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;


    public class DissolveHack {
        
            
    public static void main(String[] args) {

                
    final JFrame frame = new JFrame("Dissolve Hack");
                frame.setLayout(
    new BorderLayout());
                
    final JButton quit = new JButton("Quit");
                quit.addActionListener(
    new ActionListener( ) {
                    
    public void actionPerformed(ActionEvent evt) {
                        quit.setVisible(
    false);
                    
                    }

                }
    );

                frame.getContentPane().add(quit,BorderLayout.NORTH);
                frame.getContentPane().add(
    new JButton("我轉~"),BorderLayout.CENTER);
                frame.getContentPane().add(
    new JButton("我轉~"),BorderLayout.SOUTH);
                frame.getContentPane().add(
    new JButton("我轉~"),BorderLayout.EAST);
                frame.getContentPane().add(
    new JButton("我轉~"),BorderLayout.WEST);
                frame.addWindowListener(
    new WindowListener(){

                    
    public void windowActivated(WindowEvent arg0) {
                    }

                    
    public void windowClosed(WindowEvent arg0) {                
                    }

                    
    public void windowClosing(WindowEvent arg0) {
                        
    new SpinDissolver().dissolveExit(frame);
                    }

                    
    public void windowDeactivated(WindowEvent arg0) {
                    }

                    
    public void windowDeiconified(WindowEvent arg0) {
                    }

                    
    public void windowIconified(WindowEvent arg0) {
                    }

                    
    public void windowOpened(WindowEvent arg0) {
                    }

                }
    );
                frame.pack( );
                frame.setLocation(
    300,300);
                frame.setSize(
    400,400);
                frame.setVisible(
    true);
            }
     
        }


    posted on 2008-05-23 15:37 相信 閱讀(996) 評論(1)  編輯  收藏 所屬分類: Swing文章

    評論

    # re: 菜刀不行..更換大刀!(JavaSwing 旋轉式關閉窗口);[未登錄] 2009-08-22 08:18 一粒沙

    一點都不明白在說什么。  回復  更多評論   

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告

    不顯示applet

    常用鏈接

    留言簿(16)

    我參與的團隊

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    swingchina 專業搞Swing的網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 精品无码无人网站免费视频| 亚洲国产成人无码AV在线 | 国产亚洲情侣久久精品| 131美女爱做免费毛片| 中文字幕亚洲一区| 在线观看免费无码视频| 在线亚洲97se亚洲综合在线| 国产特黄一级一片免费| 亚洲精品午夜国产VA久久成人| 亚洲av永久无码精品漫画 | 国产亚洲精品免费视频播放| 美女又黄又免费的视频| 亚洲伊人久久综合中文成人网| 亚洲va无码手机在线电影| 成人免费一区二区三区| 亚洲中文字幕无码一区| 久久久久久久99精品免费| 亚洲欧洲美洲无码精品VA | 国产无遮挡色视频免费视频| 亚洲AV日韩综合一区| 国产一区二区三区免费看| 一日本道a高清免费播放| 亚洲日本va中文字幕久久| 国产三级在线免费| 亚洲色欲www综合网| 日韩一区二区在线免费观看| 深夜福利在线视频免费| 亚洲国产精品久久久久久| 青青青国产在线观看免费网站| 伊人久久大香线蕉亚洲五月天| 亚洲一卡一卡二新区无人区| 免费国产怡红院在线观看| 日韩免费高清播放器| 亚洲国色天香视频| 国产成人免费片在线观看| 91视频免费观看高清观看完整| 亚洲国产成人精品女人久久久 | 亚洲国产精品成人久久蜜臀 | 毛片大全免费观看| 一级成人毛片免费观看| 亚洲精品国产情侣av在线|