Je reçois Exception dans le thread "AWT-EventQueue-0" java.lang.NullPointerException à this.commaPos = Name.indexOf ("") ligne de mon projet.Le concept est que j'ai 5 JButtons de navires, et quand vous cliquez, vous placez le navire sur un plateau pour un jeu de cuirassé.Pas de temps maintenant je suis coincé à cela. ? Merci"AWT-EventQueue-0" java.lang.NullPointerException » Erreur lors de l'exécution ChangeListener
EDIT:.!.. J'ai changé le nom du nom corde à nname maintenant j'obtenir la même erreur à la ligne suivante this.commaPos = nname.indexOf ("");
public void stateChanged(ChangeEvent event)
{
JButton currentButton = (JButton)event.getSource();
System.out.println("STATE CHANGED");
String nname = currentButton.getName();
this.commaPos = nname.indexOf(",");
int x = Integer.parseInt(nname.substring(0, commaPos));
int y = Integer.parseInt(nname.substring(commaPos + 1));
checkDeletable(x, y);
if (currentButton.getName().equals(""))
return;
if (this.shipSelected == null) {
return;
}
this.shipSelected.setPos(x, y);
clearOldCoords();
boolean valid = getShipCoords();
paintShip(valid);
if ((currentButton.isFocusOwner()) && (valid))
placeShip();
}
Ici, j'utiliser l'écouteur de changement:
{
for (int y = 0; y < 10; y++) {
for (int x = 0; x < 10; x ++) {
this.myBoard[x][y] = new JButton();
this.myBoard[x][y].setMargin(margins);
this.myBoard[x][y].setToolTipText(x + "," + y);
this.myBoard[x][y].setName(null);
this.myBoard[x][y].setIcon(this.sea);
this.myBoard[x][y].addChangeListener(this);
this.myBoard[x][y].addMouseListener(this);
myBoard.add(this.myBoard[x][y]);
}
}
}
Pour une meilleure aide plus rapidement, postez un [SSCCE] (http://sscce.org/). –
Trouvé les gars, j'ai oublié de mettre le nom correct à la boucle for ici: this.myBoard [x] [y] .setName (null); – Manos