¿Cómo puedo verificar si el usuario está presionando una tecla?

En Java tengo un progtwig que necesita verificar continuamente si un usuario está presionando una tecla. Entonces en psuedocode, algo así como

if (isPressing("w")) { //do somthing } 

¡Gracias por adelantado!

En java no se comprueba si se pulsa una tecla, sino que se escucha KeyEvent s. La forma correcta de lograr su objective es registrar un KeyEventDispatcher e implementarlo para mantener el estado de la clave deseada:

 import java.awt.KeyEventDispatcher; import java.awt.KeyboardFocusManager; import java.awt.event.KeyEvent; public class IsKeyPressed { private static volatile boolean wPressed = false; public static boolean isWPressed() { synchronized (IsKeyPressed.class) { return wPressed; } } public static void main(String[] args) { KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() { @Override public boolean dispatchKeyEvent(KeyEvent ke) { synchronized (IsKeyPressed.class) { switch (ke.getID()) { case KeyEvent.KEY_PRESSED: if (ke.getKeyCode() == KeyEvent.VK_W) { wPressed = true; } break; case KeyEvent.KEY_RELEASED: if (ke.getKeyCode() == KeyEvent.VK_W) { wPressed = false; } break; } return false; } } }); } } 

Entonces siempre puedes usar:

 if (IsKeyPressed.isWPressed()) { // do your thing. } 

Por supuesto, puede usar el mismo método para implementar isPressing("") con un mapa de claves y su estado dentro de IsKeyPressed .

Prueba esto:

 import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.JFrame; import javax.swing.JTextField; public class Main { public static void main(String[] argv) throws Exception { JTextField textField = new JTextField(); textField.addKeyListener(new Keychecker()); JFrame jframe = new JFrame(); jframe.add(textField); jframe.setSize(400, 350); jframe.setVisible(true); } class Keychecker extends KeyAdapter { @Override public void keyPressed(KeyEvent event) { char ch = event.getKeyChar(); System.out.println(event.getKeyChar()); } 

KeyListener implementar KeyListener , eche un vistazo aquí: http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyListener.html

Más detalles sobre cómo usarlo: http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html