我刚刚开始查看客户端和服务器,并且正在将客户端链接到 gui,到目前为止,我已经做到了,所以当您在JTextField
(称为“输入”)中输入文本时,它会将其发送到Client.java
并打印出来以确保它作品。但是,当我设置要发回的东西并附加到JTextArea
(称为“输出”)时,它会被发送出去并且可以打印出来,但它没有设置为JTextArea
. 我也尝试过使用setText
,但这也不起作用。
当我运行Client.java
它时,它会在 cmd 中显示
sent
然后在它的cmd中ClientGUI.java
说
it worked.
这就是要发送到 gui 而不是 cmd 的内容。
如何使其将文本附加到JTextArea
from 类Client
?
完整代码:
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");
}
}