import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Test extends Canvas implements KeyListener {
  int index;
  Color colors[]={Color.red,Color.green,Color.blue};
  public void paint(Graphics g) {
    g.setColor(colors[index]);
    g.fillRect(0,0,getSize().width,getSize().height);
  }
  public static void main(String args[]) {
    Frame f=new Frame("Canvas");
    Test mc=new Test();
    f.add(mc,BorderLayout.CENTER);
    f.setSize(150,150);
    mc.requestFocus();
    mc.addKeyListener(mc);
    f.setVisible(true);
  }
  public void keyTyped(KeyEvent ev) {
    index++;
    if(index==colors.length) {
      index=0;
    }
    repaint();
  }
  public void keyPressed(KeyEvent ev) {
  }
  public void keyReleased(KeyEvent ev) {
}
}

解决方案 »

  1.   

    运行结果如下:java.lang.ClassCastException: Test
            at sun.applet.AppletPanel.createApplet(AppletPanel.java:721)
            at sun.applet.AppletPanel.runLoader(AppletPanel.java:650)
            at sun.applet.AppletPanel.run(AppletPanel.java:324)
            at java.lang.Thread.run(Thread.java:595)大家帮帮忙,这是什么原因啊?
      

  2.   

    java.lang.ClassCastException
    public class ClassCastExceptionextends RuntimeException当试图将对象强制转换为不是实例的子类时,抛出该异常。例如,以下代码将生成一个 ClassCastException: 
         Object x = new Integer(0);
         System.out.println((String)x);
    你好好看看吧我也是新手
      

  3.   

    不过运行的时候要在DOS下按下ctrl+c才能停止