2014-01-21 111 views
1

我想將在main方法中創建的確切實例傳遞給具有MPGui作爲參數的新Executor。這可能嗎?內部類引用外部類實例

public class MPGui { 
    public MPGui() { 
    //initialize GUI 
    } 

    public class ExecuteListener implements ActionListener { 
    public void actionPerformed(ActionEvent e) { 

     Executor execu = new Executor(MLA, /*the MPGUI() instance */); 
     execu.execute();   
    } 
    } 

    public static void main(String[] args) { 
    MPGui a = new MPGui(); 
    } 
} 
+0

這種取決於你打算如何使用'ExecuteListener'。一個明顯的解決方案是爲其創建一個構造函數並將MPGui實例傳遞給它。儘管如此,你已經將它展示爲一個內部類。什麼@subtenante說可能是你在找什麼。 – Radiodef

回答

5

試試這個(以及.... MPGUI.this實際上):

public class MPGui { 
     public MPGui() { 
       //initialize GUI 
     } 

     public class ExecuteListener implements ActionListener { 
       public void actionPerformed(ActionEvent e) { 

         Executor execu = new Executor(MLA, MPGUI.this); 
         execu.execute(); 

       } 
     } 

     public static void main(String[] args) { 
       MPGui a = new MPGui(); 
     } 
} 
+0

沒有什麼比一個答案...和一個雙關語! :-) –

相關問題