<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的網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人亚洲精品狼色在线| 亚洲欧美一区二区三区日产| h片在线免费观看| 亚洲色偷偷色噜噜狠狠99网| 亚洲第一网站男人都懂| 国产成人免费午夜在线观看| 色费女人18女人毛片免费视频| 亚洲精品私拍国产福利在线| 免费被黄网站在观看| 在线观看片免费人成视频无码| 亚洲AV无码精品蜜桃| 亚洲无码高清在线观看| 69成人免费视频| 成人一区二区免费视频| 亚洲三级在线观看| 亚洲AV无码国产在丝袜线观看| 国产高清在线免费视频| 在线观看的免费网站无遮挡| 一级毛片完整版免费播放一区| 亚洲不卡中文字幕| 久久综合图区亚洲综合图区| 国产成人免费A在线视频| 99re免费视频| 中文字幕看片在线a免费| 亚洲色成人四虎在线观看| 亚洲精品成人av在线| 亚洲人成国产精品无码| 成年在线观看免费人视频草莓| 青青草原1769久久免费播放| 看成年女人免费午夜视频| 亚洲人成网站在线观看播放青青| 亚洲精品无码永久在线观看你懂的| 午夜精品在线免费观看| 亚洲免费视频播放| 久久精品视频免费看| 国产精品偷伦视频免费观看了| 风间由美在线亚洲一区| 国产成人精品日本亚洲直接| 亚洲永久永久永久永久永久精品| 亚洲自偷自偷偷色无码中文| 亚洲AⅤ永久无码精品AA|