从监听器调用所有者类

时间:2012-06-10 14:47:34

标签: java button methods swt listener

有以下课程 -

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 ..
    }
}

正如您在addSelectionListener中看到的那样,有一种方法foo()的调用。

我的问题是 - 我应该将哪个引用写为foo()的前缀,以便了解与foo()相关的哪个类。

我尝试super().foo()但没有成功。

2 个答案:

答案 0 :(得分:8)

您可以将其称为GUIclass1.this.foo()

答案 1 :(得分:0)

试试这个,

我们知道an inner class has an implicit access to the members of the outer class, 所以this.foo() Will NOT work,但是

GUIclass1.this.foo() Will WORK