我试图创建一个简单的扫雷游戏(用户可自定义)。 在写它,我试图通过使用NetBeans设计视图和进入该代码来创建的JButtons
网格(经由JButton
阵列)成JPanel
:在设计视图中创建的Netbeans数组无法访问
JButton mines[] = new JButton [gridXVal*gridYVal];
mineGrid.setLayout(new java.awt.GridLayout(gridXVal,gridYVal));
for (int i = 0 ; i < 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]);
}
后来,当我通过访问它的方法中的
ImageIcon icon = new ImageIcon(mineCounter+".png");
mines[a].setIcon(icon);
它给了我一个错误,说"cannot find symbol"
。我尝试配置JPanel
以便它是公开的,但我仍然无法在我的方法中的预生成代码之外进行编辑。
这是我得到的,当我点击一个按钮尝试它的图像设置一些错误:
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException:
Uncompilable source code - Erroneous sym type: <any>.setIcon
at gameScreen.clickDraw(gameScreen.java:227)
at gameScreen$3.actionPerformed(gameScreen.java:170)
任何帮助将不胜感激!
我的“猜测”是,'mines'不到本地定义上下文到它使用的方法,使其他部分无法访问代码 – MadProgrammer
有没有什么办法可以让它在全局访问?它是用netbeans中的设计屏幕创建的 –
是的,但是如何需要更多的上下文 – MadProgrammer