java – 如何将字符串从工作线程发送到文本区域?
发布时间:2020-12-15 08:43:03 所属栏目:Java 来源:网络整理
导读:public class Client1 implements Runnable{ ServerSocket serverSocket = null; Socket socket = null; DataInputStream dataInputStream = null; DataOutputStream dataOutputStream = null; String Buffer; TextArea ta; Handler mhandler; public Client
public class Client1 implements Runnable{ ServerSocket serverSocket = null; Socket socket = null; DataInputStream dataInputStream = null; DataOutputStream dataOutputStream = null; String Buffer; TextArea ta; Handler mhandler; public Client1() { System.out.println("in constructor"); EstablishConnection(); Buffer = new String(); // mhandler = handler; // ta = t; } private boolean EstablishConnection() { try { System.out.println("calling socket"); socket = new Socket("192.168.1.145",8080); if(socket != null) { System.out.println("ContentApp"+ "Socket Successfully created"); } } catch (IOException e) { System.out.println("ContentApp"+ "Socket IOException"); e.printStackTrace(); } try { dataInputStream = new DataInputStream(socket.getInputStream()); System.out.println("ContentApp"+ "DataInputstream Successfully created"); } catch (IOException e) { System.out.println("ContentApp"+ "Datainputstream failed"); e.printStackTrace(); return false; } try { dataOutputStream = new DataOutputStream(socket.getOutputStream()); dataOutputStream.writeUTF("Hi This is Hinar!"); System.out.println("ContentApp"+ "Dataoutputstream Successfully created"); } catch (IOException e) { System.out.println("ContentApp"+ "Dataoutputstream failed"); e.printStackTrace(); return false; } if(socket != null) { run(); } return true; } public void run() { while(true) { System.out.println("ContentApp"+ "Thread is running Succesfully in loop"); try { System.out.println("reading from socket"); Buffer = dataInputStream.readUTF(); System.out.println(Buffer+"this is the data"); Client.tarea.append(Buffer);// Text area of Frames /*ta.setVisible(true); ta.setText(Buffer+"this is the Buffer");*/ } catch (IOException e) { System.out.println("ContentApp"+ "Read IO Exception"); e.printStackTrace(); } } } } 解决方法
既然你没有发布任何例外或告诉我们实际出了什么问题,我只能猜测……
看看SwingUtilities类中的InvokeAndWait或InvokeLater方法: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |