Я создаю чат для java, используя сокеты. Моя проблема в том, что в кадре для пользователя, когда я впервые нажимаю Enter, курсор переходит к следующей строке, и все после этого мне приходится нажимать клавишу Backspace, потому что в противном случае с предложением, которое я написал, отправляется пустое предложение. Я использую KeyListener для нажатия клавиши ввода и ввожу следующий код в функцию keyPressed.
if(arg0.getKeyCode()==10)
{
System.out.println("Bika sto enter\n");
String toserver = ClientText.text2.getText();
try {
if(toserver.equals("close it")) {
ClientText.clientSocket.close();
}
ClientText.text2.moveCaretPosition(ClientText.text2.getSelectionStart());
ClientText.text2.setCaretPosition(0);
ClientText.text2.setText("");
ClientText.outToServer.writeBytes(toserver+'\n');
//ClientText.outToServer.writeUTF(toserver+'\n');
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Дело в том, что это работает только после первого использования чата. Например, я что-то отправил, и курсор переходит на следующую строку, если я нажму Enter. Затем, если я что-то напишу и нажму Enter, курсор перейдет к началу второй строки! Поэтому есть пустая первая строка, которую я должен стирать каждый раз, когда есть какая-либо помощь в этом? Спасибо