我想要实现鼠标点击某个按钮可以获得按钮的 keycode 请问该如何实现?

解决方案 »

  1.   

    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;import javax.swing.JFrame;
    import javax.swing.JLabel;
    public class KeyTest extends JFrame implements KeyListener { /**
     * @param args
     * 
     */
    JLabel label = new JLabel("Key Code",JLabel.CENTER);

    KeyTest() {
    super("get key code");
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setSize(200,100);

    this.add(label);

    this.addKeyListener(this);
    this.setVisible(true);
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    new KeyTest();
    } @Override
    public void keyPressed(KeyEvent e) {
    // TODO Auto-generated method stub
    label.setText(e.getKeyCode()+"");      //
    System.out.println(e.getKeyCode());    //取得KeyCode并打印
    } @Override
    public void keyReleased(KeyEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void keyTyped(KeyEvent e) {
    // TODO Auto-generated method stub
    }}
      

  2.   

    谢谢楼上,可是我想知道的是 鼠标怎么调用键盘事件,实现
    鼠标点击某个按钮可以获得按钮的 keycode 
    而不是键盘获得keycode
      

  3.   

    如果你指的是界面上的Button控件,那么没有KeyCode。
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;public class KeyTest extends JFrame implements  ActionListener{
    JLabel label = new JLabel("Key Code",JLabel.CENTER);
    JButton bt1 = new JButton("Key Code1");
    JButton bt2 = new JButton("Key Code2");

    KeyTest() {
    super("get key code");
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setSize(300,100);
    this.setLayout(new FlowLayout());

    this.add(label);
    this.add(bt1);
    this.add(bt2);
    bt1.addActionListener(this);
    bt2.addActionListener(this);

    this.setVisible(true);
    }
    public static void main(String[] args) {
    new KeyTest();
    }
    @Override
    public void actionPerformed(ActionEvent e) {
    label.setText(e.getActionCommand());
    System.out.println(e.getActionCommand());//打印Button上的字符串
    }
    }
      

  4.   

    不好意思,语文不太好,不太会描述,麻烦看下下面的代码:按键盘的 A 或 B  健能获取keycode,但我想要鼠标点击button A 或 B  也能获取到keycode 这该如何实现?import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import java.awt.event.KeyListener;
    import java.awt.event.KeyEvent;
    public class KeyTest extends JFrame implements ActionListener,KeyListener{
    JLabel label = new JLabel("Key Code",JLabel.CENTER);
    JButton bt[]=new JButton[80];
    KeyTest() {
    super("how to mouse get key code?");
    bt[65] = new JButton("A");
    bt[66] = new JButton("B");
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setSize(300,100);
    this.setLayout(new FlowLayout());this.add(label);
    this.add(bt[65]);
    this.add(bt[66]);
    bt[65].addActionListener(this);
    bt[66].addActionListener(this);
    this.addKeyListener(this);
    bt[65].addKeyListener(this);
    bt[66].addKeyListener(this);this.setVisible(true);
    }
    public static void main(String[] args) {
    new KeyTest();
    }
    @Override
    public void actionPerformed(ActionEvent e) {
    label.setText(e.getActionCommand());
    System.out.println(e.getActionCommand());//打印Button上的字符串
    }  public void keyPressed(KeyEvent e){
      bt[e.getKeyCode()].doClick();
      System.out.println("keycode:"+e.getKeyCode());
      }
    public void keyReleased(KeyEvent e){
    }
    public void keyTyped(KeyEvent e){
    }
    }
      

  5.   

    没听说过,没按键盘也想知道相当于键盘上什么键?这在以前 DOS 上面做的教学软件里倒有,不过人家是用程序填充键盘缓冲区来达到相当于按了键盘的效果。在 Java 中不能直接操作硬件就不知道如何处理。
      

  6.   

    鼠标点击button A 或 B没有keyCode。能拿到是那个button,通过getButton获得。
    例如:p.addMouseListener(new MouseAdapter()

    public void mouseClicked(MouseEvent e) 
    {
    System.out.pringln(e.getButton());
    }
    });
      

  7.   

    你这是“按键盘的 A 或 B 健能获取keycode” 吗?没明白你想说什么,你这个只是获得按钮上的字母吧。再表达表达,大家研究研究。