import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class HuaTu implements MouseMotionListener,ActionListener{
  static final int r=3;
  static int ox, oy;
  static int flag=1;
  public static void main(String arg[]){
    JFrame f=new JFrame("Paint");
    Container p=f.getContentPane();
    p.setLayout(new FlowLayout());
    JButton jButton1 = new JButton("红");
    JButton jButton2 = new JButton("黑");
    JButton jButton3 = new JButton("退出");
   //Graphics g.setColor(new Color(255,0,0));
   //ButtonEvent arg=new ButtonEvent(arg);
   jButton1.addActionListener(new HuaTu());
   jButton2.addActionListener(new  HuaTu());
   jButton3.addActionListener(new HuaTu());
  p.addMouseMotionListener(new  HuaTu());
    p.add(jButton1);
    p.add(jButton2);
    p.add(jButton3);  
    f.setSize(200,200);
    f.show();
  }
  public void actionPerformed(ActionEvent e){
   if(e.getActionCommand().equals("红")){
     flag=1;
     }
    else if (e.getActionCommand().equals("黑")){
     flag=2;
     }
    else if (e.getActionCommand().equals("退出"))
     System.exit(0);
  }
  public void mouseDragged(MouseEvent e){
    Container c=(Container)e.getSource();
    Graphics g=c.getGraphics();
     if (ox>=0) {
     if(flag==1){
      g.setColor(new Color(168,0,255));
      g.drawLine(ox,oy,e.getX(),e.getY());}
     else
     { g.setColor(new Color(0,0,0));
       g.drawLine(ox,oy,e.getX(),e.getY());}
    }
    ox=e.getX();oy=e.getY();
  }
  public void mouseMoved(MouseEvent e){
    ox=-1;oy=-1;
  }
  
}
报这个错:
java.lang.ClassCastException: HuaTu
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)

解决方案 »

  1.   

    代码都不全怎么告诉你错在哪里?
    Exception里已经写清楚了,错误在AppletPanel的721行附近
      

  2.   

    代码全在这里了,AppletPanel是导入的import java.awt.*;里的类
      

  3.   

    你不是applet 的吗?怎么还有main函数?
    这样也可以,学习啊,以前不知道
      

  4.   

    我代码是网上搜到,java applet 画图板,搜出来就是这段代码,所以自己也不熟悉,碰到问题不知道怎么回事了,希望大家看看。
      

  5.   

    java applet我知道可能是我环境变量设置的问题的,因为弄到别人机器是可以用的。
    另外想问的是这个applet画图板上的内容怎么能作为图片保存下来
      

  6.   

    是jsp中调用applet吗?怎么调用的啊
      

  7.   

    我晕……看了半天发现,原来你这个类根本不是Applet,当然不能当作Applet来运行了。
    这是一个Application类,编译之后直接用java命令来运行的。Applet类必须是java.awt.Applet的子类你这个类有public static void main(String[])方法,可以直接运行
    编译好之后运行(在Huatu.class所在的目录下)
    java Huatu
    即可
    如果抛异常说找不到类,就运行
    java -cp . Huatu
      

  8.   

    前面问题找到原因了,是我classpath设置的问题
    想请问下,applet生成的图片如何保存到服务器上去,现在只能做到保存在本地
      

  9.   

    你那个类怎么转成applet的?有什么方法可以使一般的java Application变成Applet?
      

  10.   

    Applet生成的图片只能保存在本地。
    如果你想保存到服务器上,可以从本地上传。
    也可以用Applet和服务器直接通信(这个好像比较麻烦一些)