Sou iniciante em java e gostaria de saber como eu faço para quando o usuário clik na tecla enter de qualquer lugar da tela do programa ele praticar uma ação, sem precisar que ele alguns objetos como jbutton ou jtextfield esteja em foco.
Implementa a Interface KeyListener na classe e testa a tecla pressonada no método keyPressed().
Vê se este exemplo te ajuda:
importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassTestListenerextendsJFrameimplementsKeyListener{JLabell1;publicTestListener(){super("Teste de KeyListener");setSize(300,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);l1=newJLabel("");getContentPane().setLayout(newFlowLayout());addKeyListener(this);// aqui é importantegetContentPane().add(l1);setVisible(true);}publicvoidkeyPressed(KeyEvente){// Vou testar para ver se a tecla pressionada foi o ENTER com a constante VK_ENTERif(e.getKeyCode()==KeyEvent.VK_ENTER){// faz qualquer coisa que você quiserl1.setText("Valor do Enter: "+e.getKeyCode());}}publicvoidkeyReleased(KeyEvente){// Escreve um codigo aqui}publicvoidkeyTyped(KeyEvente){// Escreve um codigo aqui}publicstaticvoidmain(String[]args){TestListenerteste=newTestListener();}}
S
said
Vlw!
Mais desse jeito eu ja tiha tentado e não deu certo.
Eu vi algum artigo que seria atravez do ClassPath, mais ainda não conseguir faer pelo ClassPath. Se alguem souber como fazer isso, ira me ajua bastante.
Obrigado pela ajuda!
alucardeck
como assim fazer pelo Classpath ???
esse exemplo que o gilmarcand passou funciona sim, testei aqui e esta certo.
deve ser algum erro de config da sua IDE…
S
said
Pois é! Falava que era um painel por cima de todos os objetos pois eu não entendi direito e eu implementei esse ai e não conseguir vou dar uma olhada na minha IDE pra ver, eu estou usando adicionando a açõa nos objetos implemento o keylistener e tal e saio adicionando no campos e no jbutton.Irei testa aqui novamente.