キーボード入力を受け続けるときのテンプレート。
あってるのかしら?
※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
}