本人是一个学生,学了1个多月的JAVA 本想在放假的时候给老师一个礼物,但是。 
这是我的代码: 
package test; 
import java.awt.*; 
import java.awt.event.ComponentEvent; 
import java.awt.event.ComponentListener; 
import java.awt.event.WindowEvent; 
import java.awt.event.WindowFocusListener; 
import javax.swing.*; public class test1 extends JFrame implements ComponentListener, WindowFocusListener{ private JFrame frame; 
private Image backgroud = new ImageIcon().getImage(); 
public test1(){ 
super("Hello World"); 
JPanel panel = new JPanel(){ 
                  public void paintComponent(Graphics g) { 
          Point pos = this.getLocationOnScreen(); 
          Point offset = new Point(-pos.x,-pos.y); 
          g.drawImage(backgroud,offset.x,offset.y,null); 
          }                 } 
addComponentListener(this); 
        add("Center",test); 
pack(); 
setDefaultCloseOperation(3); 
setSize(200,150); 
setVisible(true); 
                try{ 
Robot rbt = new Robot(); 
Toolkit tlk = Toolkit.getDefaultToolkit(); 
Dimension dim = tlk.getScreenSize(); 
backgroud = rbt.createScreenCapture(new Rectangle(0,0,(int)dim.getHeight(),(int)dim.getWidth())); 
}catch(Exception e){ 
e.printStackTrace(); 


public static void main(String[] args) { 
new test1(); 
} public void componentHidden(ComponentEvent arg0) { 
repaint(); } public void componentMoved(ComponentEvent arg0) { 
repaint(); } public void componentResized(ComponentEvent arg0) { 
repaint(); } public void componentShown(ComponentEvent arg0) { 
repaint(); 
} public void windowGainedFocus(WindowEvent arg0) { 
repaint(); 
} public void windowLostFocus(WindowEvent arg0) { 
repaint(); 
} } 
思路很简单,把panel 设置为透明的,然后在上面加个JLabel添加图片,但是图片还是矩形的,能不能把图片的边缘设置为透明的只显示图片,,,或者给个思路也行, 
谢谢了, 在线等,,,