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();
}
我希望你明白我的问题。 预先感谢您!
如果你想让你的线程返回值使用Callable而不是Runable。 –
从线程返回是棘手的。像@ASdi建议你应该使用Callable。在某些情况下使用的另一种替代方法是定义变量“易失”。 – yogidilip
谢谢你的回答!我会寻找Callable并尽我所能。 – TomiG