天天看點

JAVA中實作透明窗體

JAVA中實作透明窗體

package  sample;

JAVA中實作透明窗體
JAVA中實作透明窗體

import  java.awt. * ;

JAVA中實作透明窗體

import  java.awt.Robot;

JAVA中實作透明窗體

import  javax.swing. * ;

JAVA中實作透明窗體
JAVA中實作透明窗體
JAVA中實作透明窗體

public   final   class  Test  extends  JApplet  ... {

JAVA中實作透明窗體
JAVA中實作透明窗體

   JPanel jp;

JAVA中實作透明窗體
JAVA中實作透明窗體

   Image Background;

JAVA中實作透明窗體

   Point p0;

JAVA中實作透明窗體

   Point p1;

JAVA中實作透明窗體
JAVA中實作透明窗體
JAVA中實作透明窗體

   public Test() ...{

JAVA中實作透明窗體

       jp = new JPanel();

JAVA中實作透明窗體

       this.getContentPane().add(jp);

JAVA中實作透明窗體

    //擷取整個螢幕圖像

JAVA中實作透明窗體
JAVA中實作透明窗體

       try ...{

JAVA中實作透明窗體

           Robot r = new Robot();

JAVA中實作透明窗體

           Toolkit tk =Toolkit.getDefaultToolkit();

JAVA中實作透明窗體

           Dimension dm = tk.getScreenSize();

JAVA中實作透明窗體

           Background = r.createScreenCapture(new Rectangle(0,0,(int)dm.getWidth(), (int)dm.getHeight()));

JAVA中實作透明窗體
JAVA中實作透明窗體

       } catch(Exception e) ...{

JAVA中實作透明窗體

           e.printStackTrace();

JAVA中實作透明窗體

       }

JAVA中實作透明窗體

       this.resize(600, 600);

JAVA中實作透明窗體

       this.setVisible(true);

JAVA中實作透明窗體

   }

JAVA中實作透明窗體
JAVA中實作透明窗體
JAVA中實作透明窗體

   public void paint(Graphics g) ...{

JAVA中實作透明窗體

       p0 = this.getLocationOnScreen();

JAVA中實作透明窗體

       p1 = new Point(-p0.x, -p0.y);

JAVA中實作透明窗體

       g.drawImage(Background, p1.x, p1.y, null);

JAVA中實作透明窗體

       repaint();

JAVA中實作透明窗體

   }

JAVA中實作透明窗體

}