Eventos

2 respostas
Algebra

gostaria que quando pressiona-se enter dentro de um jTextArea um determinado botão clica-se e o foco continua-se dentro do jTextArea. alguem pode me ajudar neste código?

2 Respostas

manolimars

Acho que isso resolve um pouco o que voce procura

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Teste implements KeyListener//implementa eventos de teclado
{
    JFrame janela   = new JFrame("Teste");
    JTextArea ta    = new JTextArea("");
    JButton btn     = new JButton("ok");

    public Teste()
    {
        janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        janela.setSize(300,100);
        janela.setLayout(new GridLayout());

        ta.addKeyListener(this); //adiciona evento de teclado para TextArea
        janela.add(ta);

        janela.add(btn);

        janela.setVisible(true);
    }

    //n sei pra q serve =D
    public void keyTyped(KeyEvent e)
    {
    }

    //Evento quando a tecla é Pressiona
    public void keyPressed(KeyEvent e)
    {
        if(e.getSource().equals(ta) && e.getKeyCode()==KeyEvent.VK_ENTER)
        //verifica se foi a textField q lançou o evento e se a tecla pressiona foir ENTER
        {
            btn.grabFocus();                            //Manda o Foco para o Botão
            ta.grabFocus();                             //volta o foco para a TextArea
        }
        }
    public void keyReleased(KeyEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}

obs.: para pressionar um determinado botão voce poderia usar o “Robot” para pressionar para voce, só não fiz pois não deu tempo, já estou de saída

Abraços

Algebra

brigado pela ajuda manolimars

Criado 14 de novembro de 2009
Ultima resposta 14 de nov. de 2009
Respostas 2
Participantes 2