import java.awt.*;
import java.awt.event.*;
class Mycanvas extends Canvas
{
int x,y,r;
Mycanvas()
{
setBackground(Color.cyan);
}
public void setX(int x)
{
this.x=x;
}
public void setY(int y)
{
this.y=y;
}
public void setR(int r)
{
this.r=r;
}
public void paint(Graphics  g)
{
g.drawOval(x, y, 2*r, 2*r);
}
}
class WindowCanvas extends Frame implements ActionListener
{
Mycanvas canvas;
TextField inputR,inputX,inputY;
Button b;
WindowCanvas()
{
canvas=new Mycanvas();
inputR=new TextField(5);
inputX=new TextField(4);
inputY=new TextField(4);
Panel pNorth=new Panel();
Panel pSouth=new Panel();
pNorth.add(new Label("circle's coordinate:"));
pNorth.add(inputX);
pNorth.add(inputY);
pSouth.add(new Label("circle's radius:"));
pSouth.add(inputR);
b=new Button("Enter");
b.addActionListener(this);
pSouth.add(b);
add(canvas,BorderLayout.CENTER);
add(pNorth,BorderLayout.NORTH);
add(pSouth,BorderLayout.SOUTH);
setBounds(100,100,300,200);
setVisible(true);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}
public void actionPerformed(ActionEvent e)
{
int x,y,r;
try{
x=Integer.parseInt(inputX.getText());
y=Integer.parseInt(inputY.getText());
r=Integer.parseInt(inputR.getText());
canvas.setX(x);
canvas.setY(y);
canvas.setR(r);
canvas.repaint();
}
catch(NumberFormatException ee)
{
x=0;y=0;r=0;
}
}
public class p159{
public void main(String args[])
{
new WindowCanvas();
}
}

解决方案 »

  1.   


    import java.awt.*; 
    import java.awt.event.*; 
    class Mycanvas extends Canvas 

    int x,y,r; 
    Mycanvas() 

    setBackground(Color.cyan); 

    public void setX(int x) 

    this.x=x; 

    public void setY(int y) 

    this.y=y; 

    public void setR(int r) 

    this.r=r; 

    public void paint(Graphics g) 

    g.drawOval(x, y, 2*r, 2*r); 


    class WindowCanvas extends Frame implements ActionListener 

    Mycanvas canvas; 
    TextField inputR,inputX,inputY; 
    Button b; 
    WindowCanvas() 

    canvas=new Mycanvas(); 
    inputR=new TextField(5); 
    inputX=new TextField(4); 
    inputY=new TextField(4); 
    Panel pNorth=new Panel(); 
    Panel pSouth=new Panel(); 
    pNorth.add(new Label("circle's coordinate:")); 
    pNorth.add(inputX); 
    pNorth.add(inputY); 
    pSouth.add(new Label("circle's radius:")); 
    pSouth.add(inputR); 
    b=new Button("Enter"); 
    b.addActionListener(this); 
    pSouth.add(b); 
    add(canvas,BorderLayout.CENTER); 
    add(pNorth,BorderLayout.NORTH); 
    add(pSouth,BorderLayout.SOUTH); 
    setBounds(100,100,300,200); 
    setVisible(true); 
    addWindowListener(new WindowAdapter() 

    public void windowClosing(WindowEvent e) 

    System.exit(0); 

    }); 


    public void actionPerformed(ActionEvent e) 

    int x,y,r; 
    try{ 
    x=Integer.parseInt(inputX.getText()); 
    y=Integer.parseInt(inputY.getText()); 
    r=Integer.parseInt(inputR.getText()); 
    canvas.setX(x); 
    canvas.setY(y); 
    canvas.setR(r); 
    canvas.repaint(); 

    catch(NumberFormatException ee) 

    x=0;y=0;r=0; 


    public class p159{ 
    public void main(String args[]) 

    new WindowCanvas(); 

      

  2.   

    public class p159{ 
    public void main(String args[]) //这里是public static void main(String args[])

    new WindowCanvas(); 


      

  3.   

    这样就行了:
    package practice;import java.awt.*;
    import java.awt.event.*;class Mycanvas extends Canvas {
    private static final long serialVersionUID = 1L;
    int x, y, r; Mycanvas() {
    setBackground(Color.cyan);
    } public void setX(int x) {
    this.x = x;
    } public void setY(int y) {
    this.y = y;
    } public void setR(int r) {
    this.r = r;
    } public void paint(Graphics g) {
    g.drawOval(x, y, 2 * r, 2 * r);
    }
    }public class WindowCanvas extends Frame implements ActionListener { private static final long serialVersionUID = 1L;
    Mycanvas canvas;
    TextField inputR, inputX, inputY;
    Button b; WindowCanvas() {
    canvas = new Mycanvas();
    inputR = new TextField(5);
    inputX = new TextField(4);
    inputY = new TextField(4);
    Panel pNorth = new Panel();
    Panel pSouth = new Panel();
    pNorth.add(new Label("circle's coordinate:"));
    pNorth.add(inputX);
    pNorth.add(inputY);
    pSouth.add(new Label("circle's radius:"));
    pSouth.add(inputR);
    b = new Button("Enter");
    b.addActionListener(this);
    pSouth.add(b);
    add(canvas, BorderLayout.CENTER);
    add(pNorth, BorderLayout.NORTH);
    add(pSouth, BorderLayout.SOUTH);
    setBounds(100, 100, 300, 200);
    setVisible(true);
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    }
    });
    } public void actionPerformed(ActionEvent e) {
    int x, y, r;
    try {
    x = Integer.parseInt(inputX.getText());
    y = Integer.parseInt(inputY.getText());
    r = Integer.parseInt(inputR.getText());
    canvas.setX(x);
    canvas.setY(y);
    canvas.setR(r);
    canvas.repaint();
    } catch (NumberFormatException ee) {
    x = 0;
    y = 0;
    r = 0;
    }
    } public static class p159 {
    public static void main(String args[]) {
    new WindowCanvas();
    }
    }
    }
      

  4.   


    P159.java:62: 需要 "class" 或 "interface"
    public void actionPerformed(ActionEvent e)
           ^
    1 错误怎么编译出这个结果了,是包没导入吗?
      

  5.   

    是大括号的错误,还有一个static,代码也很乱,我修正了一下
    import java.awt.*;
    import java.awt.event.*;class Mycanvas extends Canvas
    {
    int x,y,r;
    Mycanvas(){
    setBackground(Color.cyan);
    }

    public void setX(int x){
    this.x=x;
    }

    public void setY(int y){
    this.y=y;
    }

    public void setR(int r){
    this.r=r;
    }

    public void paint(Graphics g){
    g.drawOval(x, y, 2*r, 2*r);
    }
    }class WindowCanvas extends Frame implements ActionListener
    {
    Mycanvas canvas;
    TextField inputR,inputX,inputY;
    Button b;

    WindowCanvas(){
    canvas=new Mycanvas();
    inputR=new TextField(5);
    inputX=new TextField(4);
    inputY=new TextField(4);
    Panel pNorth=new Panel();
    Panel pSouth=new Panel();
    pNorth.add(new Label("circle's coordinate:"));
    pNorth.add(inputX);
    pNorth.add(inputY);
    pSouth.add(new Label("circle's radius:"));
    pSouth.add(inputR);
    b=new Button("Enter");
    b.addActionListener(this);
    pSouth.add(b);
    add(canvas,BorderLayout.CENTER);
    add(pNorth,BorderLayout.NORTH);
    add(pSouth,BorderLayout.SOUTH);
    setBounds(100,100,300,200);
    setVisible(true);
    addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
    System.exit(0);
    }
    });
    } public void actionPerformed(ActionEvent e){
    int x,y,r;
    try{
    x=Integer.parseInt(inputX.getText());
    y=Integer.parseInt(inputY.getText());
    r=Integer.parseInt(inputR.getText());
    canvas.setX(x);
    canvas.setY(y);
    canvas.setR(r);
    canvas.repaint();
    }catch(NumberFormatException ee){
    x=0;y=0;r=0;
    }
    }
    }
    public class TestPy{
    public static void main (String args[]){
    new WindowCanvas();
    }
    }
      

  6.   

    import java.awt.*;
    import java.awt.event.*;
    /**
     * 作者:李 世贵 
     * JDK: 1.6 
     * 来源: http://blog.csdn.net/lishigui 
     * 欢迎转接,请保留作者和来源,谢谢!
     * 2009-4-23 下午12:44:42
     */
    class Mycanvas extends Canvas {
    int x, y, r; Mycanvas() {
    setBackground(Color.cyan);
    } public void setX(int x) {
    this.x = x;
    } public void setY(int y) {
    this.y = y;
    } public void setR(int r) {
    this.r = r;
    } public void paint(Graphics g) {
    g.drawOval(x, y, 2 * r, 2 * r);
    }
    }public class WindowCanvas extends Frame implements ActionListener {
    Mycanvas canvas;
    TextField inputR, inputX, inputY;
    Button b; WindowCanvas() {
    canvas = new Mycanvas();
    inputR = new TextField(5);
    inputX = new TextField(4);
    inputY = new TextField(4);
    Panel pNorth = new Panel();
    Panel pSouth = new Panel();
    pNorth.add(new Label("circle's coordinate:"));
    pNorth.add(inputX);
    pNorth.add(inputY);
    pSouth.add(new Label("circle's radius:"));
    pSouth.add(inputR);
    b = new Button("Enter");
    b.addActionListener(this);
    pSouth.add(b);
    add(canvas, BorderLayout.CENTER);
    add(pNorth, BorderLayout.NORTH);
    add(pSouth, BorderLayout.SOUTH);
    setBounds(100, 100, 300, 200);
    setVisible(true);
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    }
    });
    } public void actionPerformed(ActionEvent e) {
    int x, y, r;
    try {
    x = Integer.parseInt(inputX.getText());
    y = Integer.parseInt(inputY.getText());
    r = Integer.parseInt(inputR.getText());
    canvas.setX(x);
    canvas.setY(y);
    canvas.setR(r);
    canvas.repaint();
    } catch (NumberFormatException ee) {
    x = 0;
    y = 0;
    r = 0;
    }
    } public static void main(String args[]) {
    new WindowCanvas();
    }}
      

  7.   

    import java.awt.*; 
    import java.awt.event.*; 
    class Mycanvas extends Canvas 

      int x,y,r; 
      Mycanvas() 
     { setBackground(Color.cyan); } 
      public void setX(int x) {this.x=x;} 
    public void setY(int y) { this.y=y; } 
    public void setR(int r) {this.r=r; } 
    public void paint(Graphics g) { g.drawOval(x, y, 2*r, 2*r); } 

     class WindowCanvas extends Frame implements ActionListener 

    Mycanvas canvas; 
    TextField inputR,inputX,inputY; 
    Button b; 
    WindowCanvas() 

    canvas=new Mycanvas(); 
    inputR=new TextField(5); 
    inputX=new TextField(4); 
    inputY=new TextField(4); 
    Panel pNorth=new Panel(); 
    Panel pSouth=new Panel(); 
    pNorth.add(new Label("circle's coordinate:")); 
    pNorth.add(inputX); 
    pNorth.add(inputY); 
    pSouth.add(new Label("circle's radius:")); 
    pSouth.add(inputR); 
    b=new Button("Enter"); 
    b.addActionListener(this); 
    pSouth.add(b); 
    add(canvas,BorderLayout.CENTER); 
    add(pNorth,BorderLayout.NORTH); 
    add(pSouth,BorderLayout.SOUTH); 
    setBounds(100,100,300,200); 
    setVisible(true); 
    addWindowListener(new WindowAdapter() 

    public void windowClosing(WindowEvent e) 

    System.exit(0); 

    }); 

    public void actionPerformed(ActionEvent e) 

    int x,y,r; 
    try{ 
    x=Integer.parseInt(inputX.getText()); 
    y=Integer.parseInt(inputY.getText()); 
    r=Integer.parseInt(inputR.getText()); 
    canvas.setX(x); 
    canvas.setY(y); 
    canvas.setR(r); 
    canvas.repaint(); } 
    catch(NumberFormatException ee) 
    {x=0;y=0;r=0; } 

    }
    public class P159{ 
    public static void main(String args[]) 
    { new WindowCanvas(); } 

    //可以了