0
0

【Java】備忘録:KeyListener

Posted at

キーボード入力を受け続けるときのテンプレート。
あってるのかしら?

※JFrame は全く機能してない。。。

// App.java

import javax.swing.JFrame;

public class App {
	
	public static void main( String[] args ) {
		JFrame	f	= new JFrame( "test : KeyListener" );
		f.setSize( 200, 200 );
		f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		f.setVisible(true);
		f.addKeyListener( new KeyListenerTest() );
	}

}
// KeyLisenerTest.java

//                action timing
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// button		: -------------   -------------
// keyTyped		: |||||||||||||   ||||||||||||| 	<- only str
// keyPressed	: |||||||||||||   ||||||||||||| 	<- all key
// keyReleased	:              |               |
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class KeyListenerTest implements KeyListener {

	KeyListenerTest() {}

	@Override
	public void keyTyped( KeyEvent e ) {} // do nothing 
	
	@Override
	public void keyPressed( KeyEvent e ) {
		
		switch ( e.getKeyCode() ) {
			case KeyEvent.VK_UP:	// ↑
				System.out.println( "tmp : ↑" );
				break;
			case KeyEvent.VK_DOWN:	// ↓
				System.out.println( "tmp : ↓" );
				break;
			case KeyEvent.VK_RIGHT:	// →
				System.out.println( "tmp : →" );
				break;
			case KeyEvent.VK_LEFT:	// ←
				System.out.println( "tmp : ←" );
				break;
			case KeyEvent.VK_SPACE:
				System.out.println( "tmp : ' '" );
				break;
			case KeyEvent.VK_ENTER:
				System.out.println( "tmp : Enter" );
				break;
		}

		System.out.println();
	}
	
	@Override
	public void keyReleased( KeyEvent e ) {} // do nothing 
	
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0