¿Cómo hago que mi botón se muestre en el momento que lo deseo?

Estoy trabajando en este juego para mi novia y he estado atrapado en el mismo problema durante unos días. Básicamente, quiero que pueda presionar el botón "Recolectar madera" 5 veces, luego, justo después de que lo presiona la quinta vez, debería aparecer el botón "Crear fuego".

1.El problema es que no importa de qué manera intente programar el método para que aparezca en el quinto botón, simplemente no aparece.

Agradecería cualquier sugerencia de codificación o cualquier cosa que piensen que puedo hacer para limpiar mi código actual.

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

Este es el botón recolectar madera

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;
}

Este es el botón Crear fuego

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));
} 

Respuestas a la pregunta(1)

Su respuesta a la pregunta