你的代码我已经测试过了,具体原因如下 
1.在applet中不能用JButton,如果你要用只能在JApplet里用
在applet里只能用Button
2.按纽必须在加个ActionListener
用actionPerformed()来识别

解决方案 »

  1.   

    已改为button了,可是当我点了button以后,无论按什么键,applet就再也不显示字母了,
    这怎么解决呢?
      

  2.   

    因为焦点在Button上了。import java.awt.*;
    import java .awt .event .*;
    import java.applet.*;public class AppletKey extends Applet 
    {
    private Button bgStart;
    String s;
    int i;

    public void init()
    {
    setLayout(null);
    bgStart=new Button("Start");
    bgStart.setBounds(320,275,80,20);
    bgStart.setBackground(Color.blue);
    add(bgStart);

    bgStart.addKeyListener(new KeyAdapter()
    {
    public void keyPressed(KeyEvent e)
    {
    KeyAction(e);
    }
    });

    this.addKeyListener(new KeyAdapter()
    {
    public void keyPressed(KeyEvent e)
    {
    KeyAction(e);
    }
    });



    }

    public void paint(Graphics g)
    {   if(i==1)
    g.drawString (s,25,20);
    if(i==2)
    g.drawString (s,125,120);
    }

    public void KeyAction(KeyEvent e)
    {
    i=2;
    s=e.getKeyChar()+"";
    repaint();
    }
    }