Dando função ao ENTER numa TextArea

3 respostas
yschmitzz

nao sei se deu pra explicar direito pelo titulo

fiz um programinha simples de chat (pra desktop e nao pra web)

so que quero enviar a mensagem ao servidor pela tecla enter
enteo fiz

public class Key implements KeyListener {
public void KeyPressed (KeyEvent ev) {
if (ev.getKeyCode() == 10) {
msg.println(textArea.getText()); // captura o texto da component, e envia para o servidor atravez de um socket
msg.flush();
textArea.setText("");
}
}
}

funciona +/-
quando aperto o ENTER ele envia, mas envia com uma quebra de linha (nao a quebra do println)
ele antes de enviar, ele adiciona a quebra de linha a textArea ae envia ao servidor com essa quebra de linha
como posso corrigir isso

3 Respostas

O

Opa, acredito que seja por você estar utilizando o componente JTextArea. Não poderia trocar por um JTextField ?

Espero ter ajudado.

M

ono.leo:
Opa, acredito que seja por você estar utilizando o componente JTextArea. Não poderia trocar por um JTextField ?

Espero ter ajudado.


Se você quer um texto de apenas uma linha, essa é a solução mesmo.

Scoobydoo
Não kara é simples

Você precisa cancelar o evento do seu botao;

Eu não lembro se da Mas tenta fazer no final assim

ev.setKeyCode(0);

Ou ve se você consegue dar um ev = null;

ou ev.cancel

Bom, vc entendeu a lógica
Criado 30 de janeiro de 2010
Ultima resposta 2 de fev. de 2010
Respostas 3
Participantes 4