Как сделать так, чтобы моя кнопка отображалась в то время, когда я этого хочу?

Я работаю над этой игрой для моей подруги, и я застрял на той же проблеме в течение нескольких дней. По сути, я хочу, чтобы она смогла нажать кнопку «Собрать лес» 5 раз, а затем, сразу после того, как она нажмет ее в пятый раз, должна появиться кнопка «Создать огонь».

1. Проблема в том, что независимо от того, каким образом я пытаюсь запрограммировать метод на показ при нажатии пятой кнопки, он просто не отображается.

Я был бы признателен за любые советы по кодированию или все, что вы можете сделать, чтобы очистить мой текущий код.

private static JPanel panel;
private static int woodCounter;
private static int leafCounter;
private static JFrame frame;

Это кнопка сбора древесины

public static int gatherWood() {
woodCounter = 0;

JButton wood = new JButton("Gather Wood");

wood.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent event) {
        System.out.println("Gathering Wood");
        woodCounter++;
        woodCounter++;
        System.out.println(woodCounter);
    }
});

wood.setVisible(true);
panel.add(wood, new FlowLayout(FlowLayout.CENTER));

return woodCounter;
}

Это кнопка создания огня

public static void createFire() {
JButton fire = new JButton("Create Fire");

fire.addActionListener(new ActionListener() { 

    @Override
    public void actionPerformed(ActionEvent event) {
        System.out.println("Creating a fire.");

        woodCounter = woodCounter - 10;
    }
});

fire.setVisible(true);
panel.add(fire, new FlowLayout(FlowLayout.CENTER));
} 

Ответы на вопрос(1)

Ваш ответ на вопрос