2017-04-06 54 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访问它,这就是你需要做的一切。