java - Netbeans array created in Design view isn't accessible -
i trying create simple minesweeper game (that's user-customizable). in writing it, tried create grid of jbuttons
(via jbutton
array) using netbeans design view , entering code jpanel
:
jbutton mines[] = new jbutton [gridxval*gridyval]; minegrid.setlayout(new java.awt.gridlayout(gridxval,gridyval)); (int = 0 ; < mines.length ; i++) { mines [i] = new jbutton(" "); mines [i].setactioncommand ("" + i); mines[i].addactionlistener(listener); //mines [i].setborder (null); //mines [i].setborderpainted (false); minegrid.add (mines [i]); }
later, when access in method via
imageicon icon = new imageicon(minecounter+".png"); mines[a].seticon(icon);
it gives me error saying, "cannot find symbol"
. tried configuring jpanel
public, i'm still not able edit outside pre-generated code in methods.
this error when click on button trying set image something:
exception in thread "awt-eventqueue-0" java.lang.runtimeexception: uncompilable source code - erroneous sym type: <any>.seticon @ gamescreen.clickdraw(gamescreen.java:227) @ gamescreen$3.actionperformed(gamescreen.java:170)
any appreciated!
i'm assuming section of code:
minegrid.setlayout(new java.awt.gridlayout(1, 0)); jbutton mines[] = new jbutton [gridxval*gridyval]; minegrid.setlayout(new java.awt.gridlayout(gridxval,gridyval)); (int = 0 ; < mines.length ; i++) { mines [i] = new jbutton(" "); mines [i].setactioncommand ("" + i); mines[i].addactionlistener(listener); //mines [i].setborder (null); //mines [i].setborderpainted (false); minegrid.add (mines [i]); }
was entered manually through 1 of "code" editing options in netbeans.
you need take jbutton mines[] = new jbutton [gridxval*gridyval];
, declare @ class level , modify "custom code" initialise variable...
private jbutton mines[]; private void initcomponents() { //... minegrid.setlayout(new java.awt.gridlayout(1, 0)); jbutton mines[] = new jbutton [gridxval*gridyval]; minegrid.setlayout(new java.awt.gridlayout(gridxval,gridyval)); (int = 0 ; < mines.length ; i++) { mines [i] = new jbutton(" "); mines [i].setactioncommand ("" + i); mines[i].addactionlistener(listener); //mines [i].setborder (null); //mines [i].setborderpainted (false); minegrid.add (mines [i]); } //... }// </editor-fold>
Comments
Post a Comment