有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在用户输入的基础上使用applet绘制线条?在g为null的状态下发生的错误,如何修复

这是我编写的方法,当我调用该方法时,它给出了一个错误,即对象g为null且为break。请帮我修一下,谢谢。基于我的学校,我必须使用Applet

public void drawing(Graphics g,int a,int b,int c){ //method
    double d,e,f,x,y,m;
    d = (double) a;
    e = (double) b;
    f = (double) c;
    if (e>f){
        m=e;
        e=f;
        f=m;
    }

我已尝试初始化对象g。。。 但我真的不能那样做

    ex=(e*e-f*f+d*d)/2/d;
    //calculate the point required
    ey=(Math.pow((d+e+f)*(d+e-f)*(d-e+f)*(e+f-d),0.5))/2/d;
    //drawing the line
    g.drawLine(0,0,(int) ex,(int) ey);    //this is the main problem
}

我已尝试初始化对象g。。。 但我真的不能那样做


共 (1) 个答案

  1. # 1 楼答案

    如果从paint()方法调用方法drawing(),并且您的paint方法是以这种方式定义的

    public void paint(Graphics g){
        ...
    }
    

    然后在函数调用语句中,将图形对象g传递给drawing()方法,该方法是paint()方法的参数

    public void paint(Graphics g){
        ....
        drawing(g, int, int, int);
    }
    

    由于paint中的Graphics对象g不为空,因此传递给drawing()方法的同一个对象应该可以解决您的问题