jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyPressed(KeyEvent e) {
        jButton1_keyPressed(e);
      }
    });  void jButton1_keyPressed(KeyEvent e) {  }

解决方案 »

  1.   

    JButton jb = new JButton("sadf");
    jb.addKeyListener(new KeyAdapter() {
          public void keyPressed(KeyEvent e) {
              .......代码........
          }
        });  
      

  2.   

    to  hexiaofeng(java爱好者) and Minko(轻轻风) 
    如何代码实现
    两位给的代码,正是小弟的疑惑
    如何通过键入不同的键产生不同的效果?
    举例:
    按"A"执行jb按钮
      

  3.   

    第一种:设置热键
        JButton jb = new JButton("sadf");
        jb.setMnemonic('a');
        ~~~~~~~~~~~~~~~~~~~~~键入alt+a 激发jb单击事件 
    第2种:
    JTextField jb = new JTextField("sadf");
    jb.addKeyListener(new KeyAdapter() {
          public void keyPressed(KeyEvent e) {
                  char c = e.getKeyChar() ;//得到输入的字符
                  int i = e.getKeyCode() ;//得到输入数字
                 //知道输入的东西,剩下的自己编了       }
        });
      

  4.   

    我抄一个可以运行的程序给你:/**
     * @version 1.20 25 Jun 1998
     * @author Cay Horstmann
     */import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;class SketchPanel extends JPanel
       implements KeyListener
    {  public SketchPanel()
       {  addKeyListener(this);
       }   public void keyPressed(KeyEvent evt)
       {  int keyCode = evt.getKeyCode();
          int d;
          if (evt.isShiftDown())
             d = 500; 
          else 
             d = 100;
          if (keyCode == KeyEvent.VK_LEFT) add(-d, 0);
          else if (keyCode == KeyEvent.VK_RIGHT) add(d, 0);
          else if (keyCode == KeyEvent.VK_UP) add(0, -d);
          else if (keyCode == KeyEvent.VK_DOWN) add(0, d);
       }
       
       public void keyReleased(KeyEvent evt)
       {}   public void keyTyped(KeyEvent evt)
       {  char keyChar = evt.getKeyChar();
          int d;
          if (Character.isUpperCase(keyChar))
          {  d = 5; 
             keyChar = Character.toLowerCase(keyChar);
          }
          else 
             d = 1;
          if (keyChar == 'h') add(-d, 0);
          else if (keyChar == 'l') add(d, 0);
          else if (keyChar == 'k') add(0, -d);
          else if (keyChar == 'j') add(0, d);
       }   public boolean isFocusTraversable() { return true; }   public void add(int dx, int dy)
       {  end.x += dx;
          end.y += dy;
          Graphics g = getGraphics();
          g.drawLine(start.x, start.y, end.x, end.y);
          g.dispose();
          start.x = end.x;
          start.y = end.y;
       }  
               
       private Point start = new Point(0, 0);
       private Point end = new Point(0, 0); 
    }class SketchFrame extends JFrame
    {  public SketchFrame()
       {  setTitle("Sketch");
          setSize(300, 200);
          addWindowListener(new WindowAdapter()
             {  public void windowClosing(WindowEvent e)
                {  System.exit(0);
                }
             } );      Container contentPane = getContentPane();
          contentPane.add(new SketchPanel());
       }
    }public class Sketch
    {  public static void main(String[] args)
       {  JFrame frame = new SketchFrame();
          frame.show();  
       }
    }