import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class KeyBoardListener extends JFrame {public static void main(String[] args) throws FileNotFoundException {
        new KeyBoardListener();
    }    
    public KeyBoardListener() throws  FileNotFoundException {
        
        this.setTitle("监听键盘事件");
        this.setSize(200, 50);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
        this.addKeyListener(new KeyAdapter()  {            @Override
            public void keyReleased(KeyEvent e) {
             //键盘弹起后执行
                char ch = e.getKeyChar();
                try {
                    System.out.print(ch);
                    System.out.print(";");
                }catch(Exception e1)
                {
                 System.out.println(e1);
                }
            }
            
        }
        );
    } 
}
这句:char ch = e.getKeyChar(); 可以返回字符和数字,但按F2时返回"?",用啥函数能返回一个值呢(字符串或者数值都可以),这样如果是F2就可以执行一段代码.

解决方案 »

  1.   

    不知道符合不符合要求 
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;public class KeyBoardListener extends JFrame
    { public static void main(String[] args) throws FileNotFoundException
    {
    new KeyBoardListener();
    } public KeyBoardListener() throws FileNotFoundException
    { this.setTitle("监听键盘事件");
    this.setSize(200, 50);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);
    this.addKeyListener(new KeyAdapter()
    { @Override
    public void keyReleased(KeyEvent e)
    {
    // 键盘弹起后执行
    //char ch = e.getKeyChar();
    try
    {
    // System.out.print(ch);
    // System.out.print(";");
    System.out.print(KeyEvent.getKeyText(e.getKeyCode()));
    System.out.print(";");
    }
    catch (Exception e1)
    {
    System.out.println(e1);
    }
    } });
    }
    }
      

  2.   

    啊,是1楼.接下来是如何让java程序后台运动,我在网上找了许久,都弄不明白,好像要修改WINDOWS注册表.
    比如我在玩星际2,希望按了F2,就调用我的java程序(作用是帮助微操作).
    由于星际一转为后台就会暂停,所以希望java后台运行