Java 如何处理旧按钮
我正在尝试使用单元格[][]为网格编写康威的生命游戏程序,其中单元格是JButton、布尔条件和坐标。我有一个方法可以创建一个新的nxm网格。我可以很容易地把它变大,但把它变小是一个问题:旧的按钮留在原来的地方。仅将单元格[][]置零不起作用。我应该用什么来处理旧按钮 Upd8:一些代码 网格创建:Java 如何处理旧按钮,java,Java,我正在尝试使用单元格[][]为网格编写康威的生命游戏程序,其中单元格是JButton、布尔条件和坐标。我有一个方法可以创建一个新的nxm网格。我可以很容易地把它变大,但把它变小是一个问题:旧的按钮留在原来的地方。仅将单元格[][]置零不起作用。我应该用什么来处理旧按钮 Upd8:一些代码 网格创建: if(tfSizeX.getText().length() > 0 && tfSizeY.getText().length() > 0 && tfCell
if(tfSizeX.getText().length() > 0 && tfSizeY.getText().length() > 0 && tfCellSize.getText().length() > 0)
{
grid = null; // Cell[][] grid;
int sizeGridX = Integer.parseInt(tfSizeX.getText());
int sizeGridY = Integer.parseInt(tfSizeY.getText());
int sizeCell = Integer.parseInt(tfCellSize.getText());
grid = new Cell[sizeGridX][sizeGridY];
for(int i = 0; i < sizeGridX; i++)
for(int j = 0; j < sizeGridY; j++)
grid[i][j] = new cell(i*(sizeCell+1), j*(sizeCell+1), panel, sizeCell);
panel.repaint();
}
我们可以看一些代码吗?类应该以大写字母开头。2JackWhiteIII明白了。关于按钮处理呢?我有点懒得阅读所有的代码,但是你试过button.setVisiblefalse吗?我不需要将它们设置为不可见,我需要完全处理它们,这样它们就不会占用内存。
public class Cell
{
private JButton cell;
private boolean condition;
int locX, locY, size = 24;
public Cell(int locX, int locY, JPanel panel, int size)
{
this.size = size;
condition = false;
cell = new JButton("");
cell.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
if(!condition)
{
cell.setBackground(Color.black);
}
else
{
cell.setBackground(Color.white);
}
condition = !condition;
}
});
cell.setBackground(Color.GRAY);
cell.setBounds(locX, locY, size, size);
panel.add(cell);
cell.setBackground(Color.white);
}
public void change(boolean condition)
{
this.condition = condition;
if(condition)
{
cell.setBackground(Color.black);
}
else
{
cell.setBackground(Color.white);
}
}
}