如何在一段时间后进行方法调用?

时间:2016-10-06 14:20:11

标签: java swing

我正在为我的女朋友做这个游戏,我已经被困在同一个问题上几天了。基本上,我希望她能够按下 Gather Wood 按钮5次,然后在第五次按下它之后,会弹出 Create Fire 按钮。

  1. 问题在于无论我尝试编程的方式是什么 显示在第五个按钮上的方法按下它只是不显示。
  2. 我很感激任何编码提示或任何你认为我能做的事情 清理我当前的代码。

    private static JPanel panel;
    private static int woodCounter;
    private static int leafCounter;
    private static JFrame frame;
    
  3. 这是聚集木按钮

    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;
    }
    
  4. 这是创建开火按钮

    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));
    } 
    
  5. 我不知道面板尺寸,我不知道如何找到它。该面板已添加到JFrame程序中的main

  6. {main}静态调用gatherWood()createFire()函数。我应该使用run()来调用这些方法吗?

1 个答案:

答案 0 :(得分:1)

我认为你应该创建这两个按钮(“Gathering Wood”,“Create Fire”),但是让第二个按钮不可见:

fire.setVisible(false); 

当你的woodCounter等于5时,你可以看到它。

如果您需要更多解释,我可以告诉您如何制作。