2012-06-10 13 views
5

Avere la classe follow -Chiamando alla classe di appartenenza da un ascoltatore

public class GUIclass1 extends org.eclipse.swt.widgets.Composite { 
    private void initGUI() { 

     { 
      // The setting of the open file button. 
      openButton = new Button(this, SWT.PUSH | SWT.CENTER); 
      openButton.addSelectionListener(new SelectionAdapter() { 
       public void widgetSelected(SelectionEvent evt) { 
        foo() ; 
       } 
      }); 
     } 
    } 

    public void foo() { 
     // implementation .. 
    } 
} 

Come si può vedere all'interno del addSelectionListener c'è una chiamata a metodo di foo().

La mia domanda è - quale riferimento dovrei scrivere come prefisso allo foo() per sapere a quale classe è collegato foo().

Ho provato super().foo() senza successo.

risposta

8

Si potrebbe chiamare come GUIclass1.this.foo()

0

Prova questo,

Come sappiamo che an inner class has an implicit access to the members of the outer class, così this.foo() Will NOT work, ma

GUIclass1.this.foo() Will WORK.

Problemi correlati