在另一个类方法

时间:2017-10-20 21:47:10

标签: java nullpointerexception applet awt java-2d

我正在制作一个图形计算器,因为我的comp sci老师说如果我能证明我知道将在课堂上教授的所有主题,他将在今年剩下的时间里通过我,所以我的想法是图形计算器,我试图将我的applet mumbo jumbo放在另一个班级。但是在我认为正确地做事之后,我在尝试使用applet中的类方法时遇到错误。 这两个类都在同一个包中。 这是我要来的课程: (我也导入了java.awt。*)

public class NumberCalc {
//Bunch of variable for calculator
Graphics page;
static GraphingCalc graph = new GraphingCalc();

/* Blah blah calculator shit for miles
*  main method is in here with the drawGraph method
*
*/

public static void drawGraph() {
    graph.addPoint(20,20,5,5);
    //Test method to see if it draws, next class has the info
    }
}

以下是我要来的课程:

public class GraphingCalc {
Graphics page;
//Code that doesnt matter right now
public void addPoint(int x, int y, int sizeA, int sizeB) {
    setBackground(color.black);
    page.setColor(color.cyan) //Easy to see color for testing
    page.fillOval(x,y,sizeA,sizeB);
    }    
}

我抛出的错误是:

Exception in thread main java.lang.NullPointerException
at calculator.GraphingCalc.addPoint(GraphingCalc:18)

第18行是page.setColor(color.cyan),如果我注释掉这一行并转到fillOval,那么它会给出相同的错误,因此“页面”图形变量显然有问题。任何解决方案?

1 个答案:

答案 0 :(得分:1)

NullPointerException表示您正在尝试引用一个没有值的变量。在这里,您有Graphics类型字段的声明和名称page,但该字段永远不会初始化(至少不会您发布的代码)。换句话说 - 您尝试向page询问setColor(...),但没有page(因为您从未提供过)。