importjava.awt.*;importjava.awt.Graphics;importjava.awt.event.*;importjava.applet.Applet;importjava.lang.Math;publicclassexample92extendsAppletimplementsActionListener,Mo...
import java.awt.*;
import java.awt.Graphics;
import java.awt.event.*;
import java.applet.Applet;
import java.lang.Math;
public class example92 extends Applet implements ActionListener,MouseListener,MouseMotionListener{
Button buttondraw,butonround,buttonline;
Point start,end,press,release,old,pnew;
Graphics gg;
boolean mousedownflag=false,mouseupflag=false,drawflag=false,roundflag=false,lineflag=false;
public void init() {
buttondraw=new Button("draw freehand");
butonround=new Button("round");
buttonline=new Button("line");
butonround.addActionListener(this); add(butonround);
buttondraw.addActionListener(this); add(buttondraw);
buttonline.addActionListener(this); add(buttonline);
addMouseListener(this); old=new Point();
pnew=new Point();
}
public void mousePressed(MouseEvent e){
mousedownflag=true; mouseupflag=false;
press=new Point(e.getX(),e.getY());
if(drawflag){
old.x=e.getX();
old.y=e.getY();
}
}
public void mouseReleased(MouseEvent e){
mousedownflag=false;
release=new Point(e.getX(),e.getY());
if(!lineflag){start=new Point(Math.min(press.x,release.x),Math.min(press.y,release.y));
end=new Point(Math.max(press.x,release.x),Math.max(press.y,release.y));
}
if(!drawflag) repaint();
}
public void mouseDragged(MouseEvent e){
if(drawflag){
pnew.x=e.getX();pnew.y=e.getY();gg=getGraphics();
gg.drawLine(old.x,old.y,pnew.x,pnew.y);
old=pnew;
}
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseMoved(MouseEvent e){}
public void paint(Graphics g) {
int drawwith,drawheight;
g.drawRect(20,40,280,200);
if(lineflag && mouseupflag){g.drawLine(press.x,press.y,release.x,release.y);
}
if(roundflag && mouseupflag){drawwith=end.x-start.x;drawheight=end.y-start.y;
g.drawRoundRect(start.x,start.y,drawwith,drawheight,10,10);
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==buttondraw){drawflag=!drawflag;roundflag=false;lineflag=false;
}
if(e.getSource()==buttonline){drawflag=false;roundflag=false;lineflag=!lineflag;
}
if(e.getSource()==butonround){drawflag=false;roundflag=!roundflag;lineflag=false;
}
}
}
我是希望页面上出现3个按钮和1个方框,用户可以按按钮选择画直线,圆,自由画图;在方框里画图,但问题是可以显示方框按钮,但画不了图
展开