2015-12-21 36 views
1

在belowing的Java PROGRAMM:的Java:ImagePanel扩展JPanel

//define ImagePanel through extending from JPanel 
    public class ImagePanel extends JPanel{ 
     /** 
     * 
     */ 
     private static final long serialVersionUID = 1L; 
     private ImageIcon imageIcon=new ImageIcon("pika1.jpg"); 
     private Image image=imageIcon.getImage(); 
     protected void paintComponent(Graphics g){ 
      super.paintComponent(g); 
      if(image!=null) 
       g.drawImage(image,0,0,getWidth(),getHeight(),this); 
     } 
} 

什么是 “本” 来表示?如何理解其实用性?

+2

这指的是当前的上下文对象。基本上用简单的话来说就是指向你的类的当前对象ImagePanel –

+0

想一想。你想传递一个参数给另一个对象的一个​​方法(让我们称之为A),并且你想传递的参数是你调用方法A的对象。同样你想传递一个对象作为参数给drawImage方法,并且你想传递的对象是你的ImagePanel。 – hevi

+0

您可能会先看看[this](https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html)。 –

回答

1

thiskeyword引用当前类实例变量。
可用于调用当前类方法(隐式)。
可以作为方法调用中的参数传递。
可以在构造函数调用中作为参数传递。
关键字也可用于返回当前类实例。