1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;;
public class TestKeys
{
public static void main(String[] args)
{
TestFrame frame = new TestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class TestFrame extends JFrame
{
public TestFrame()
{
setSize(640,480);
ButtonPanel panel= new ButtonPanel();
Container contentPane = getContentPane();
contentPane.add(panel);
}
}
class ButtonPanel extends JPanel
{
private JButton bt1,bt2,bt3,bt4,bt5;
private int cpt;
public ButtonPanel()
{
KeyAction keyAction = new KeyAction();
addKeyListener(keyAction);
this.initButtons();
this.cpt=0;
}
public boolean isFocusTraversable()
{
return true;
}
private void initButtons()
{
this.bt1=new JButton("button 1");
this.bt2=new JButton("button 2");
this.bt3=new JButton("button 3");
this.bt4=new JButton("button 4");
this.bt5=new JButton("button 5");
add(this.bt1);
add(this.bt2);
add(this.bt3);
add(this.bt4);
add(this.bt5);
}
private class KeyAction implements KeyListener
{
public void keyPressed(KeyEvent e)
{
System.out.println("passage: " + cpt);
switch(e.getKeyCode())
{
case KeyEvent.VK_F1: bt1.setEnabled(false);System.out.println("button 1: "+e.getKeyCode()+" "+e.getKeyChar());break;
case KeyEvent.VK_F2: bt2.setEnabled(false);System.out.println("button 2: "+e.getKeyCode()+" "+e.getKeyChar());break;
case KeyEvent.VK_F3: bt3.setEnabled(false);System.out.println("button 3: "+e.getKeyCode()+" "+e.getKeyChar());break;
case KeyEvent.VK_F4: bt4.setEnabled(false);System.out.println("button 4: "+e.getKeyCode()+" "+e.getKeyChar());break;
case KeyEvent.VK_F5: bt5.setEnabled(false);System.out.println("button 5: "+e.getKeyCode()+" "+e.getKeyChar());break;
// the working case
/*
case KeyEvent.VK_Z: bt1.setEnabled(false);System.out.println("button 1: "+e.getKeyCode()+" "+e.getKeyChar());break;
case KeyEvent.VK_E: bt2.setEnabled(false);System.out.println("button 2: "+e.getKeyCode()+" "+e.getKeyChar());break;
case KeyEvent.VK_R: bt3.setEnabled(false);System.out.println("button 3: "+e.getKeyCode()+" "+e.getKeyChar());break;
case KeyEvent.VK_Y: bt4.setEnabled(false);System.out.println("button 4: "+e.getKeyCode()+" "+e.getKeyChar());break;
case KeyEvent.VK_I: bt5.setEnabled(false);System.out.println("button 5: "+e.getKeyCode()+" "+e.getKeyChar());break;
*/
}
cpt++;
}
public void keyReleased(KeyEvent e)
{
System.out.println("------------------");
switch(e.getKeyCode())
{
case KeyEvent.VK_F1: bt1.setEnabled(true);break;
case KeyEvent.VK_F2: bt2.setEnabled(true);break;
case KeyEvent.VK_F3: bt3.setEnabled(true);break;
case KeyEvent.VK_F4: bt4.setEnabled(true);break;
case KeyEvent.VK_F5: bt5.setEnabled(true);break;
// the working case
/*
case KeyEvent.VK_Z: bt1.setEnabled(true);break;
case KeyEvent.VK_E: bt2.setEnabled(true);break;
case KeyEvent.VK_R: bt3.setEnabled(true);break;
case KeyEvent.VK_Y: bt4.setEnabled(true);break;
case KeyEvent.VK_I: bt5.setEnabled(true);break;
*/
}
}
public void keyTyped(KeyEvent e){}
}
} |