Salve pessoal,
estou desenvolvendo um chatzinho aqui pra faculdade e precisava que quando o usuário digitasse o texto na JTextArea texto ele reconheça como se tivesse clicado no JButton de enviar a mensagem, não tenho muita experiência em java, então se alguém puder me ajudar. Estou usando o Eclipse como IDE.
Att
Ae Thiago,
Tente algo do tipo:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class testENTER extends Applet{
TextField t;
public void init(){
TextField t = new TextField("press ENTER");
add(t);
t.addKeyListener
(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
Toolkit.getDefaultToolkit().beep();
System.out.println("ENTER pressed");
}
}
}
);
}
}
Fonte: http://www.rgagnon.com/javadetails/java-0253.html
Ah, outro exemplo no mesmo link é:
public class testENTER extends Applet
implements KeyListener {
TextField t;
public void init(){
TextField t = new TextField("press ENTER");
add(t);
t.addKeyListener(this);
}
public void keyTyped(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
Toolkit.getDefaultToolkit().beep();
System.out.println("ENTER pressed");
}
}
}
Forte abraço!
Opa,
vou tentar aqui, valeu, depois posto o resultado!
Att
Consegui amigo, meu código ficou assim.
txtMessage = new JTextField();
txtMessage.setBounds(new Rectangle(30, 45, 230, 25));
txtMessage.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
Toolkit.getDefaultToolkit().beep();
if (txtMessage.getText() != "") {
sendMessage(txtMessage.getText());
}
}
}
});
content.add(txtMessage, null);
Valeu a ajuda!
Att
No caso específico de ativar um botão (como o de enviar) caso o enter seja pressionado, é ainda mais fácil.
Você pode dar o comando:
Assim, quando o enter for pressionado, esse botão será automaticamente acionado.
Se precisar de ações mais sofisticadas, a maneira correta de se fazer é essa, indicada pelo Thingol:
http://www.guj.com.br/java/92862-tecla-enter-no-jtextfield-#497162
Eventos em 99,9% das vezes não são a solução correta.
1 curtida
Valeu a dica ViniGodoy.
Além de ser mais simples a implementação.
Att