我在class drawarrow中已写有一个paint()方法,通过该方法做了2个弧.现在我想在另一个class中通过构造方法,startAngle和arcAngle作为构造器的参数,调用class drawarrow中的paint()方法来画弧,请问我应该这么写另一个类.class drawarrow的代码如下
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
public class drawarrow extends Frame{ public drawarrow(String title){
    super(title);
    setSize(1024,768);
    setVisible(true);
   } public void paint(Graphics g){
 
int x=512,y=384;//屏幕中心X,Y坐标
        int width1=175,width2=width1+20;//小圆和大圆的半径
        int startAngle=-85;//起始角度,0表示在3点钟的位置,
        int arcAngle=60;//从startAngle开始逆时针转的角度
        int x1=x-width1,y1=y-width1;//小圆确定点
        int x2=x-width2,y2=y-width2;//大圆确定点
               
        g.setColor(Color.BLUE);
        //画大弧
        g.fillArc(x2, y2, 2*width2, 2*width2, startAngle, arcAngle);
        //画小弧
        g.fillArc(x1, y1, 2*width1, 2*width1, startAngle, arcAngle);
}

public static void main(String[] args) {
new drawarrow("Hello3"); }}

解决方案 »

  1.   

    public class Test2 extends Frame{
       private drawarrow  draw = null;
       public Test2(){draw=new drawarrow("Default"); }
       public void paint(){
          // draw.paint();
       }
    }没看懂你的要求,不知道你是不是要大概类似这个?
      

  2.   

    这个实现不难.要想在一个类中调用另一个类的方法.比如这个paint()方法.就把这个方法定义成public就可以了.在要调用类中用 drawarrow.paint()就实现调用了.
      

  3.   

    public OtherClass extends JFrame {
    private drawarrow draw = new  drawarrow("Hello");
    public void paint(Graphics g) {
    draw.paint(g);
    }
    }
    这种用法,不值得推荐,楼主应该改正一下你的设计了还有,类名不要用动词命名,首字母大写。不懂得遵守基本的编程规则的人,只能算到菜鸟的行列
      

  4.   

    是我没把问题说清楚,我的意思是在class drawarrow中加入构造方法drawarrow(int startAngle,int arcAngle){},然后在另一个类中new drawarrow(0,90);,new drawarrow(-30,120);等,这样就能利用已有的方法写画出N个弧,另一个类应该怎么写哪,还有在class drawarrow的构造方法应该怎么写?
      

  5.   

    另一个类可以继承drawarrow,能直接使用,
    也可以在另一个类的方法中用drawarrow的对象来调用paint方法。