1

我创建了一个扫雷游戏,每次开始新游戏时都会生成一个二维 JButton 数组。问题是内存使用量呈指数增长(JProfiler 说它是 JButtons)。似乎不仅旧的 Jbutton 实例被保存在内存中,而且实例的数量翻了一番。我怎样才能告诉它摆脱旧的 JButtons?谢谢

private JButton[][] but;
but = new JButton[row][col];
for (int i = 0;i<row;i++)
{    
  for (int j = 0;j<col;j++){
      but[i][j]= new JButton();
      but[i][j].setName(i+":"+j);
      mine.add(but[i][j]);
      but[i][j].addMouseListener(this);
  }
 }
4

1 回答 1

4

这听起来像是池模式的经典用例。

在程序开始时分配一个网格的按钮,并在每个游戏中重复使用它们。

于 2012-09-11T20:22:49.290 回答