【问题标题】:Java GUI - changing timer pause to keyboard promptJava GUI - 将计时器暂停更改为键盘提示
【发布时间】:2015-03-05 14:49:39
【问题描述】:

我有一个程序可以创建一个窗口,循环遍历一组颜色并将窗口背景更改为这些颜色。

我使用了一种暂停方法,让我可以在每种颜色循环到下一种颜色之前将其暂停一秒钟。

我不想暂停一秒钟,而是希望能够通过在每种颜色处按 enter 来单独循环显示颜色。我认为我需要使用扫描仪来执行此操作,但我自己无法让它工作。

非常感谢任何帮助和解释。

这是我用来创建当前暂停方法和循环颜色的代码:

  private void pause(long millisecs) {
    long startTime = Calendar.getInstance().getTimeInMillis();
        while(Calendar.getInstance().getTimeInMillis()-startTime<millisecs);
  } 


       public void flashColour()  { 

        Color [] rainbow = { Color.red,Color.orange,Color.yellow, Color.green,
                Color.blue,Color.magenta,Color.black };

        int index = 0;

        System.out.println("Start");
        pause(1000);

            while(index < rainbow.length) {             
                getContentPane().setBackground(rainbow[index]);
                pause(1000);

                index++;
            }               
        System.out.println("End");          
   }

【问题讨论】:

    标签: java time keyboard intervals prompt


    【解决方案1】:

    我认为您误解了扫描仪的用途。扫描器将解析原始类型和字符串。您正在寻找的是keylistener。按键侦听器将“侦听”特定的按键(在本例中为 enter)并在按下该按键时运行相应的代码。

    有关详细信息,请参阅: http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-03
      • 2020-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多