gpt4 book ai didi

java - 无法访问在设计 View 中创建的 Netbeans 数组

转载 作者:行者123 更新时间:2023-12-02 12:30:04 25 4
gpt4 key购买 nike

我试图创建一个简单的扫雷游戏(用户可自定义)。在编写它时,我尝试创建一个 JButtons 的网格。 (通过 JButton 数组)使用 netbeans 设计 View 并将此代码输入到 JPanel 中:

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)

任何帮助将不胜感激!

最佳答案

我假设这部分代码:

mineGrid.setLayout(new java.awt.GridLayout(1, 0));
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]);
}

由您通过 Netbeans 中的“代码”编辑选项之一手动输入。

您需要采用JButton mines[] = new JButton [gridXVal*gridYVal];并在类级别声明它并修改您的“自定义代码”以初始化此变量...

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));
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]);
}
//...
}// </editor-fold>

关于java - 无法访问在设计 View 中创建的 Netbeans 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45316337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com