在画布上绘制个矩形通过在文本框里 输入宽高以及左上顶点的坐标  按确认按钮 画图  
import java.applet.Applet;
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;  class  Mycanvas extends Canvas
  {
  int x,y;
  int  w,high;
  int red,green,blue;
  Mycanvas()
  {
  setSize(100,100);
  setBackground(Color.red);
  }
public   void  setX(int x)
  {
  this.x=x;
  
  }
public void setY(int y)
{
this.y=y;
}
public void setW(int w)
{
this.w=w;
}
public void setHIGH(int high)
{
this.high=high;
}
public void paint(Graphics g)
{
g.drawRect(x, y,w, high);
}




}
  public class Example5  extends Applet  implements  ActionListener
{
   Mycanvas  canvas;
   TextField  text1,text2,text3,text4;
    Button  b;
    Label   label1,label2,label3;
    public void init()
    {   canvas=new Mycanvas();
     label1=new Label("请输入定点坐标:");
     text1=new TextField(6);
     text2=new TextField(6);
     label2=new Label("输入宽:");
    
     text3=new TextField(6);
     label3=new Label("请输入高:");
     text4=new TextField(6);
        add(label1);add(text1);add(text2);
     add(label2);add(text3);add(label3);add(text4);
     b=new Button("确定");
    b.addActionListener(this);
    add(b);
     add(canvas);
    
    }
    public void actionPerformed(ActionEvent  e)
    {
       int x,y,w,high;  
     if(e.getSource()==b)
     {
     try{
      x=Integer.parseInt(text1.getText());
      y=Integer.parseInt(text2.getText());
       w=Integer.parseInt(text3.getText());
      high=Integer.parseInt(text4.getText());
      canvas.setX(x);
      canvas.setY(y);
      canvas.setW(w);
      canvas.setHIGH(high);
      canvas.repaint();
        }
     catch(NumberFormatException  ee)
     
       {  x=0;y=0;w=0;high=0;
      
        }
    }
    }


}
另外在Eclipse运行后小程序启动了 但是按确认时你能作图Eclipse 显示 错误为
Exception in thread "AWT-EventQueue-1" java.lang.NoSuchMethodError: Mycanvas.setL(I)V
at Example5.actionPerformed(Example5.java:87)
at java.awt.Button.processActionEvent(Unknown Source)
at java.awt.Button.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

解决方案 »

  1.   

      canvas.setX(x);这个应该出错行
    楼主看一下有没有写错什么
      

  2.   

    canvas.setX(x); 这里应该没错吧    1楼的那可以画图  为什么在我这就不行了啊   而且还出现错误行,下面的代码又是什么意思
    Exception in thread "AWT-EventQueue-1" java.lang.NoSuchMethodError: Mycanvas.setL(I)V
    at Example5.actionPerformed(Example5.java:87)
    at java.awt.Button.processActionEvent(Unknown Source)
    at java.awt.Button.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
      

  3.   

    java.lang.NoSuchMethodError: Mycanvas.setL(I)V
    没有这方法