当前位置: 首页 > 面试题库 >

如何在我希望的时间显示按钮?

养研
2023-03-14
问题内容

我正在为我的女友开发这款游戏,而现在我在同一个问题上停留了几天。基本上,我希望她能够按5次“ Gather
Wood”按钮,然后在她第五次按该按钮后立即弹出“ Create Fire”按钮。

1.问题是,无论我尝试以哪种方式编程要显示在第五个按钮上的方法,它都不会显示。

  1. 我将不胜感激任何编码技巧或大家认为我可以做的任何清理当前代码的事情。
        private static JPanel panel;
    private static int woodCounter;
    private static int leafCounter;
    private static JFrame frame;
  1. 这是收集木纽扣
        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;
    }
  1. 这是创建按钮
        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次“ Gather Wood”按钮,然后在她第五次按该按钮后立即弹出“ Create Fire”按钮。

我看不到任何可以告诉代码执行任何操作的“如果逻辑”。

修复该问题(并验证是否调用了“ createFire()`”方法)之后,我怀疑下一个问题是,当您将组件添加到可见的Swing GUI中时,基本代码应为:

panel.add(...);
panel.revalidate();
panel.repaint();

您需要revalidate()调用布局管理器,否则添加的组件的大小为(0,0),并且没有任何内容可以绘制。

panel.add(fire, new FlowLayout(FlowLayout.CENTER));

不要继续尝试更改布局管理器。那不是第二个参数的用途。创建面板时,面板的布局管理器仅应设置一次。



 类似资料:
  • 问题内容: 因此,我正在制作一个跳跃动画,并且效果很好,但是我正在尝试获取它,因此如果按下按钮但返回一定时间后,图像将显示一定的时间(时间=空中停留的时间)精灵到达地面后,恢复到原始图像。我已经研究了很多,但是还没有找到合适的答案。但是我正在考虑如果按下某个按钮来更改imageview,但是我不确定这是否可行。 我的密码 问题答案: 通常,您可以使用: 所以,如果我了解你, 尽管仅在动画计时器中检

  • 在桌面视图中,输出是正确的,但在移动视图中,我们希望生成每个div都有自己的描述。 现在我的问题是描述显示在所有四个元素之后,我们希望在移动视图中显示每个div的底部。 任何人都可以通过jQuery帮助我。我试图在jQuery的帮助下使用偏移量和高度,但这是行不通的。 null null

  • 问题内容: 我从rss获取提要,并将数据存储在appengine数据库中。rss feed内容包括整个html。所以我有这个Python代码: 我的html模板如下所示: 因此,当我查看页面时,会显示实际的html标记,该如何取消html数据的显示呢? 问题答案: 这也应该起作用。

  • 在mysql中,我创建了一个查询,希望获取每个日期的最近一个月的数据,如果没有找到特定日期的记录,那么它应该显示0。 我的mysql查询是 仍然得到同样的结果

  • 问题内容: 我有具有日期字段的表。当我运行查询时,我看到以下内容: 2009年1月10日22:10:39 如何只检索时间(IE:22:10:39) 问题答案: 您可以尝试以下方法: 编辑: 正如@steven指出的那样,要使用24小时样式

  • 我写了一个Spring批处理作业,从数据库中读取,然后写入csv。 这项工作的工作,但不幸的是,在我的输出CSV文件,它只是把什么是在我的域对象的toString方法。 我真正想要的是bean中用逗号分隔的所有值。这就是为什么我在下面的ItemWriter中加入了分隔线聚合器。 但我认为我对DelimitedLineAggregator的理解是错误的。我以为LineAggregator用于输出,但