我對我的數獨的應用程序GUI類的行會引發空異常「異常線程‘AWT-EventQueue的-0’顯示java.lang.NullPointerException」 1431NullPointerException異常在定製mousevent方法
private String click(int x, int y) {
String dialog = null;
if (5==5/*sudoku1.grid[x][y].isEditable()==true*/) {
dialog = JOptionPane.showInputDialog("Enter Input:");
int input = Integer.parseInt(dialog);
1431: sudoku1.grid[x][y].setValue(input);
}
else {
//JOptionPane.showMessageDialog(...);
}
return dialog;
}
在開始類對象sudoku1聲明:
public class ClassicGUI extends javax.swing.JFrame {
private boolean finished;
Sudoku sudoku1;
private final int size = 9;
和主方法的run()創建的:
public void run() {
new ClassicGUI().setVisible(true);
System.out.println("Testing GUI...");
sudoku1 = new Sudoku(size);
sudoku1.makeGrid(size);
}
網格對象我s的二維陣列類型單元格:
public void makeGrid(int size) {
this.lines=size;
grid = new Cell[lines][lines];
for(int i=0;i<size;i++)
for(int j=0;j<size;j++) {
grid[i][j] = new Cell();
grid[i][j].setValue(0);
}
}
所以適當的方法來訪問grid [x] [y]。數組中的對象也在makeGrid()方法中初始化。爲什麼空異常錯誤?
P.S. -S ... x和y座標範圍從0-8,並有觀點點擊方法如下圖所示
private void jLabel28MouseClicked(java.awt.event.MouseEvent evt) {
jLabel28.setText(click(3, 0));
}
你打包點擊的x和y值是多少?你在哪裏打電話點擊? –
我使用調色板繪製了gui。所以在網格中的任何地方我都會彈出同樣的異常!點擊(x,y)被調用,因爲您可以在jlabels動作事件的castom代碼中看到abose。所以,想象我按下3,0 – user3240664