Java NullPointerException错误:如何修复此错误?
我正试图通过一个Java图形程序制作四个tic tac趾板的简单图像。 我的程序可以编译并运行,但不能生成四块板的图像。我在“交互”窗格中遇到此错误(我使用DrJava编写代码):Java NullPointerException错误:如何修复此错误?,java,nullpointerexception,Java,Nullpointerexception,我正试图通过一个Java图形程序制作四个tic tac趾板的简单图像。 我的程序可以编译并运行,但不能生成四块板的图像。我在“交互”窗格中遇到此错误(我使用DrJava编写代码): 我对Java编程相当陌生,我一直在尝试通过在DrJava中进行调试来发现错误,但毫无效果。有人能帮忙吗?:) 从构造函数中删除此行: NsccWindow win; 您已经有了win字段,因此也不需要在构造函数中声明它 在构造函数中声明时,隐藏实例字段并实例化仅限于构造函数范围的变量。因此,当您尝试访问drawTi
我对Java编程相当陌生,我一直在尝试通过在DrJava中进行调试来发现错误,但毫无效果。有人能帮忙吗?:) 从构造函数中删除此行:
NsccWindow win;
您已经有了win
字段,因此也不需要在构造函数中声明它
在构造函数中声明时,隐藏实例字段并实例化仅限于构造函数范围的变量。因此,当您尝试访问
drawTicTacToeBoard
中的实例字段时,它实际上是null
哪一行是第38行?不仅没有必要,实际上局部变量win
正在隐藏实例属性win
。非常感谢!工作很有魅力。@user2305834,接受正确的答案是更好的欣赏。请别忘了检查它是否被接受。
import java.awt.Color;
public class TicTacToeBoards {
private NsccWindow win;
public TicTacToeBoards() {
NsccWindow win;
win = new NsccWindow(10, 10, 330, 300);
win.setTitle("Tic-Tac-Toe Boards");
drawTicTacToeBoard(40, 40);
drawTicTacToeBoard(40, 170);
drawTicTacToeBoard(170, 40);
drawTicTacToeBoard(170, 170);
}
public void drawTicTacToeBoard(int x, int y) {
NsccLine vertLineL;
NsccLine vertLineR;
NsccLine horizLineU;
NsccLine horizLineD;
vertLineL = new NsccLine((x + 30), y, (x + 30), (y + 90));
vertLineR = new NsccLine((x + 60), y, (x + 60), (y + 90));
horizLineU = new NsccLine(x, (y + 30), (x + 90), (y + 30));
horizLineD = new NsccLine(x, (y + 60), (x + 90), (y + 30));
win.add(vertLineL);
win.add(vertLineR);
win.add(horizLineU);
win.add(horizLineD);
win.repaint();
}
public static void main(String[] args) {
TicTacToeBoards test = new
TicTacToeBoards();
}
}
NsccWindow win;