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)
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)
Exception里已经写清楚了,错误在AppletPanel的721行附近
这样也可以,学习啊,以前不知道
另外想问的是这个applet画图板上的内容怎么能作为图片保存下来
这是一个Application类,编译之后直接用java命令来运行的。Applet类必须是java.awt.Applet的子类你这个类有public static void main(String[])方法,可以直接运行
编译好之后运行(在Huatu.class所在的目录下)
java Huatu
即可
如果抛异常说找不到类,就运行
java -cp . Huatu
想请问下,applet生成的图片如何保存到服务器上去,现在只能做到保存在本地
如果你想保存到服务器上,可以从本地上传。
也可以用Applet和服务器直接通信(这个好像比较麻烦一些)