2016-12-12 37 views
0

我开始将我的代码转换为更面向对象的风格,现在我遇到了一些问题。我正在运行一个while循环,它返回从套接字接收到的消息。如何从线程中运行的循环获取字符串?

public void run(){ 

    try { 

     while(IrcMessage != null){ 

     IrcMessage = in.readLine(); 
     System.out.println(IrcMessage); 
     .... 
     .... 

我想要这些消息显示在我的jframe中。我确实有一个想法,这可以工作,但我不知道如何执行它。我如何访问线程中声明的变量?

public class socketRead extends Thread{ 

    String IrcMessage = ""; 

当我开始我的线程:

public static void main(String[] args) throws IOException { 

    NewJFrame frame = new NewJFrame(); 
    frame.setVisible(true); 
    frame.setLocationRelativeTo(null); 
    frame.read.start();   
} 

我希望你明白我的问题。 预先感谢您!

+0

如果你想让你的线程返回值使用Callable而不是Runable。 –

+0

从线程返回是棘手的。像@ASdi建议你应该使用Callable。在某些情况下使用的另一种替代方法是定义变量“易失”。 – yogidilip

+0

谢谢你的回答!我会寻找Callable并尽我所能。 – TomiG

回答

0

您可以将对您的JFrame的引用传递给需要更新它的线程。

相关问题