gpt4 book ai didi

Java GUI 卡住

转载 作者:行者123 更新时间:2023-12-02 04:54:20 29 4
gpt4 key购买 nike

我正在尝试创建一个简单的 TCP 客户端服务器应用程序接口(interface)用户可以在按下相应按钮时启动或停止服务器我创建了一个 StartServer 按钮,当用户按下按钮时它应该连​​接到服务器我面临的问题是当用户单击按钮时会注意到发生并且界面停止

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
// TODO add your handling code here:
DefaultListModel dlm=new DefaultListModel();
String clientSentence;
String capitalizedSentence;
try {
welcomeSocket= new ServerSocket(6789);
dlm.addElement("server started..");
dlm.addElement("Server Waiting for Connections on Port 6789");
jList1.setModel(dlm);
displayfull();
while(true)
{
DataOutputStream outToClient = null;
try {


Socket connectionSocket = welcomeSocket.accept();
//dlm.addElement("Client Connected ");
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
//dlm.addElement("Obtained a handle on Client Input Stream");
outToClient = new DataOutputStream(connectionSocket.getOutputStream());
//dlm.addElement("Obtained a handle on Client Output Stream");
clientSentence = inFromClient.readLine();
//dlm.addElement("Received: " + clientSentence);
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
//dlm.addElement("Message Sent");
} catch (Exception e) {

}

}

} catch (Exception e) {
dlm.addElement(e);
}
jList1.setModel(dlm);
displayfull();
}

enter image description here

最佳答案

正如其他人暗示的那样,您正在 Event Dispatch Thread 上花费宝贵的时间。 .
如果您阅读了有关如何操作的教程 Concurrency in Swing您会发现您获得了类似 Swing worker 的工具.

Stack Overflow 上有很多类似的问题,其中一些问题比其他问题更有帮助。

关于Java GUI 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28924129/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com