Eventos de tecla

4 respostas
B

Como faço pra colocar um evento no “frame” que reconhece uma tecla digitada e a imprime na tela?

Me dá um help ai, galera!

public static void main(String[] args) {

   JFrame frame = new JFrame("Teste");

   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

   Menu demo = new Menu();
   frame.setJMenuBar(demo.createMenuBar());
   frame.setContentPane(demo.createContentPane());
   
   frame.setSize(640,480);
   frame.setLocation(130,100);
   frame.setVisible(true);

}

4 Respostas

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

public class JanelaTeclado implements KeyListener{

       //janela
       JFrame janela;
       Container cont;
       JTextArea tecla;

       //construtor
       public JanelaTeclado(){
           janela = new JFrame("JanelaTeclado");
           cont = janela.getContentPane();
           tecla = new JTextArea("Tecla");
           tecla.setEnabled(false);
           cont.add(tecla);
           janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           janela.setSize(640,480);
           janela.setLocation(130,100);
           janela.setVisible(true);
           janela.addKeyListener(this);


       }

       //tratamento das ações
        public void keyTyped(KeyEvent e){

        }

        public void keyPressed(KeyEvent e){

               tecla.append(e.getKeyText(e.getKeyCode()));


        }

        public void keyReleased(KeyEvent e){

        }



        public static void main(String args[]){
               JanelaTeclado jt = new JanelaTeclado();

        }
}

Fiz rápido... estou com sono :sleeping: , vou tentar comentar melhor amanhã. Espero ter ajudado.

B

Valeu demais Betinhum, funcionou perfeitamente.
Até mais …

B

Sei que estou meio folgado, mas se você puder me ajudar, DE NOVO, seria ótimo:

Se eu tivesse um texto já definido numa JTextArea, tipo,

JTextArea tecla;
String texto = “usuarios java”;

tecla.setText("" + texto);

e quisesse que a cada tecla digitada um caracter do texto desaparecesse, seria complicado fazer? Por exemplo:

Se eu digitar o ‘u’, então o texto da JTextArea passaria a ser somente “suarios java”. Depois eu digito o ‘s’ e o texto seria só “uarios java” e assim até o fim do texto.

De qualquer forma, valeu demais!!!

Betinhum
"bartruta":
Se eu digitar o 'u', então o texto da JTextArea passaria a ser somente "suarios java". Depois eu digito o 's' e o texto seria só "uarios java" e assim até o fim do texto.

Só se for a letra certa, neh?

String palavra = "Palavra";
              char teclado = 'P';

              System.out.println(palavra);

              if(palavra.charAt(0)==teclado)
                     palavra = palavra.substring(1);

              System.out.println(palavra);

É só colocar isso dentro do tratamento do teclado. Qualquer coisa é só falar.

Criado 12 de novembro de 2003
Ultima resposta 15 de nov. de 2003
Respostas 4
Participantes 2