站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题在java中如何在一个类中使用另一个类中的paint()方法?

在java中如何在一个类中使用另一个类中的paint()方法?

摘要: 在java中如何在一个类中使用另一个类中的paint()方法?


我在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");

}

}



public class Test2 extends Frame{
private drawarrow draw = null;
public Test2(){draw=new drawarrow("Default"); }
public void paint(){
// draw.paint();
}
}

没看懂你的要求,不知道你是不是要大概类似这个?


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


public OtherClass extends JFrame {
private drawarrow draw = new drawarrow("Hello");
public void paint(Graphics g) {
draw.paint(g);
}
}
这种用法,不值得推荐,楼主应该改正一下你的设计了

还有,类名不要用动词命名,首字母大写。

不懂得遵守基本的编程规则的人,只能算到菜鸟的行列。。。


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


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


↑返回目录
前一篇: 为什么我用Date得不到正确结果呢?
后一篇: 父类与自类调用顺序问题?