【发布时间】:2013-03-29 16:07:11
【问题描述】:
我刚刚开始查看客户端和服务器,并且正在将客户端链接到 gui,到目前为止,我已经做到了,所以当您在 JTextField(称为“输入”)中输入文本时,它会将其发送到 @987654322 @ 并打印出来以确保它有效。
但是,当我设置要发回的东西并附加到JTextArea(称为“输出”)时,它会被发送出去并可以打印出来,但它没有设置为JTextArea。
我也尝试过使用setText,但这也不起作用。
当我运行 Client.java 时,它会启动并在 cmd 中显示
sent
然后在 ClientGUI.java 的 cmd 中显示
it worked.
这是要发送到 gui 而不是 cmd 的内容。
如何让它从Client 类中将文本附加到JTextArea?
完整代码:
ClientGUI.java:
private void InputActionPerformed(java.awt.event.ActionEvent evt) {
String input = Input.getText();
Client c = new Client();
c.input(input);
}
public void output() {
Output.append("it worked.");
//Output.append(null);
}
Client.java:
public void input(String input) {
System.out.println(input);
}
public void startUP() {
System.out.println("sent");
ClientGUI cg = new ClientGUI();
}
public static void main(String args[]) {
Client c = new Client();
c.startUP();
new ClientGUI().setVisible(true);
try {
Socket skt = new Socket("localhost", 1234);
BufferedReader in = new BufferedReader(new
InputStreamReader(skt.getInputStream()));
System.out.print("Received string: '");
while (!in.ready()) {}
String output = in.readLine();
System.out.println(output); // Read one line and output it
System.out.print("'\n");
in.close();
}
catch(Exception e) {
System.out.print("Whoops! It didn't work!\n");
}
}
【问题讨论】:
-
把你的完整代码放在这里会更好理解你的问题..
-
我已将其更改为添加完整代码,反正也没那么多。
标签: java swing client-server jtextarea settext