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

Java 一段时间后如何进行方法调用?,java,swing,Java,Swing,我正在为我的女朋友做这个游戏,我已经被困在同一个问题上好几天了。基本上,我希望她能够按下收集木材按钮5次,在她按下第五次之后,创建火灾按钮应该会弹出 问题是,无论我以何种方式尝试编程 方法显示在第五个按钮上,但按下该按钮不会显示 我会很感激任何编码技巧或者你们认为我能做的任何事情 清理我当前的代码 private static JPanel panel; private static int woodCounter; private static int leafCounter; private

我正在为我的女朋友做这个游戏,我已经被困在同一个问题上好几天了。基本上,我希望她能够按下收集木材按钮5次,在她按下第五次之后,创建火灾按钮应该会弹出

  • 问题是,无论我以何种方式尝试编程 方法显示在第五个按钮上,但按下该按钮不会显示
  • 我会很感激任何编码技巧或者你们认为我能做的任何事情 清理我当前的代码

    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));
    } 
    
  • 我不知道面板的大小,我也不知道如何找到它。面板将添加到
    main
    过程中的
    JFrame

  • gatherWood()
    createFire()
    函数都是在main中静态调用的。我应该使用
    run()
    调用这些方法吗


  • 我认为您应该创建这两个按钮(“收集木材”、“创建火”),但要使第二个按钮不可见,以便:

    fire.setVisible(假);
    
    当你的木材计数器等于5时,你可以让它可见


    如果你需要更多的解释,我可以告诉你,你是如何做到的

    我记得昨天的问题:很抱歉转载,我真的需要帮助。请不要发布两次你的问题,特别是仅仅一天之后。此外,当你的声望足够高时,你可以增加一笔赏金来吸引人们的注意。所以基本上当你收集木材时,你想显示“创建火”按钮吗?在为wood gather执行的操作中,您是否考虑过添加类似于
    if(woodCounter>=10){createFire()}
    ,显然它只在第一次工作,因为它可能会不断添加新按钮,但这是一个起点哇,谢谢。这就解决了我的另一个问题,即每次按下“收集木材”按钮时,程序都会创建多个“创建火灾”按钮。