Cara, implemente um evento para o seu JTextArea. O evento em questão é o KeyListener.
Você pode fazer algo assim:
JTextAreatextArea=newJTextArea(10,10);textArea.addKeyListener(newTextAreaListener());privateclassTextAreaListenerimplementsKeyListener{publicvoidkeyTyped(KeyEvente){}publicvoidkeyReleased(KeyEvente){}publicvoidkeyPressed(KeyEvente){JOptionPane.showMessageDialog(null,"Apertou a tecla "+e.getKeyChar()+"!");}}
Testa aí, e nos dê o reply!
Abraços!
ViniGodoy
Melhor que o keylistener é implementar um DocumentListener.
seuTextArea.getDocument().addDocumentListener().
Lembre-se que mudanças no JTextArea podem ser feitas sem que o usuário pressione necessariamente uma tecla do teclado (ele pode recortar ou colar um texto com o mouse, por exemplo). O DocumentListener é disparado quando o documento do JTextArea é alterado, não importando a partir de qual dispositivo.
batistafilho
Valeu, Nicolas!
Funcionou certo e isso era mais um detalhe do Java que eu não conhecia. Vou aproveitar e irei atrás dos Listeners que eu ainda não conheço.
ViniGodoy
batistafilho:
Valeu, Nicolas!
Funcionou certo e isso era mais um detalhe do Java que eu não conhecia. Vou aproveitar e irei atrás dos Listeners que eu ainda não conheço.
Você fez com KeyListener ou com o DocumentListener?
Nicolas_Fernandes
batistafilho,
Siga a dica do Vini. Eu não considerei que poderíamos colar ou recortar dados da JTextArea. Se realizarmos tais operações, o uso de um DocumentListener fica muito mais eficiente!
ViniGodoy
Nicolas Fernandes:
batistafilho,
Siga a dica do Vini. Eu não considerei que poderíamos colar ou recortar dados da JTextArea. Se realizarmos tais operações, o uso de um DocumentListener fica muito mais eficiente!
Eu aprendi isso da pior maneira possível. Meu usuário recortava e colava com o mouse, e reclamou que a janela não estava avisando para salvar. D:
E claro, que ele havia perdido um monte de informação importante.