在画布上绘制个矩形通过在文本框里 输入宽高以及左上顶点的坐标 按确认按钮 画图
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)
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)
楼主看一下有没有写错什么
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)
没有这方法