2017-04-06 51 views
0

我正試圖在gui類中通知註冊的觀察者。如何訪問線程內的類

public class GUI extends javax.swing.JFrame implements Observer { 

public notImportantMethod() { 

t = new Thread() { 
      @Override 
      public void run() { 
       for (int i = 1; i <= 10; i++) { 
         myObject.registerObserver(this); 
       } 
      } 

     }; 
     t.start(); 
     } 
} 

它給了我錯誤:不兼容的類型:不能轉換爲觀察員我該如何使用呢?我知道運行裏面還有另一種背景,但我怎麼能訪問它?

+0

你想要註冊什麼實際對象? GUI的線程或實例? –

+0

我想註冊gui – dtechlearn

+1

'OuterEnclosingClassname.this',即'GUI.this'會給你引用外部封閉類GUI的當前對象。當你簡單地使用'this'時,它指的是擴展'Thread'的匿名類的對象。 –

回答

3

this現在引用一個線程。您應該可以致電GUI.this。有關更多信息,請參見 here

0

@Ishnark已經正確回答了。你應該可以通過GUI.this訪問它,這就是你需要做的一切。