每当我点击事件按钮时,程序就会没有响应我的代码是否有问题?
void btnConnectActionPerformed(java.awt.event.ActionEvent evt){
try{
btnSend.setEnabled(true);
ServerSocket serverSocket = new ServerSocket(4446);
Scanner serverType = new Scanner(chatTxt.getText());
Socket clientSocket = serverSocket.accept();
InputStreamReader isr = new InputStreamReader(clientSocket.getInputStream());
BufferedReader br = new BufferedReader(isr);
PrintStream ps = new PrintStream(clientSocket.getOutputStream());
}catch (Exception ex){ex.printStackTrace();}
}
答案 0 :(得分:5)
不,除了在Event Dispatching Thread
内执行耗时的任务外,代码没有任何问题。
这将阻止UI更新,因为EDT
负责处理绘画更新以及处理键盘和鼠标事件处理。
如上所述,请查看Concurrency in Swing了解详情。