Mais uma dúvida minha com o Swing… Se alguém puder me ajudar, meu problema é assim:
Tenho um JTextArea e eu quero, toda vez que eu digitar o caracter “[” automaticamente seja completado com o “]” e o cursor fique posicionado entre os colchetes. Tipo o editor de códigos de NetBeans. Esta ação deve ser gerada cada vez que eu pressionar as teclas “CTRL + Espaço”.
Se alguém pelo menos dizer o que eu devo pesquisar já ficaria muito agradecido, pois estou meio sem direção. Eu tentei caputar o texto digitado no JTextArea assim:
if(jTextArea_Formula.getText() == "["){
//Mais código aqui
}
Mas acho que não é a maneira ideal.
Obrigado pessoal. Eu nem queria o código pronto, pois acho que devemos, como profissionais saber encontrar as soluções para os problemas. Mas já que veio assim, poupei um pouco de esforço.
Na minha aplicação eu usei o código do acopiara. Então, eu usei somente a funcionalidade que eu queria. Na verdade, eu utilizei somente o trecho do código que me seria útil, e criei o método que segue abaixo:
[code]private void completaCaracterDigitado(){
jTextArea_Formula.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent evt){
}
public void keyReleased(KeyEvent evt){
String t = jTextArea_Formula.getText();
int pos = jTextArea_Formula.getCaretPosition()-1;
if(evt.getKeyChar() == '['){
t = t + ']';
}
jTextArea_Formula.setText(t);
jTextArea_Formula.setCaretPosition(pos+1);
}
public void keyTyped(KeyEvent evt){
}
});
}[/code]
Depois chamei o este método no construtor da classe.