簡體   English   中英

Java GUI - 將計時器暫停更改為鍵盤提示

[英]Java GUI - changing timer pause to keyboard prompt

我有一個程序,它創建一個窗口,循環一系列顏色,並將窗口背景更改為這些顏色。

我使用了一種暫停方法,允許我暫停每種顏色一秒鍾,然后循環到下一種顏色。

我希望能夠通過按下每種顏色的輸入來單獨循環顯示顏色,而不是暫停一秒。 我相信我需要使用掃描儀才能做到這一點,但我不能讓它自己工作。

任何幫助和解釋都將非常感激。

這是我用來創建當前暫停方法並循環顏色的代碼:

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

我想你誤解了掃描儀的用途。 掃描程序將解析基本類型和字符串。 您正在尋找的是一個keylistener。 一個keylistener將“監聽”特定按鍵(在這種情況下輸入)並在按下該鍵時運行相應的代碼。

有關更多信息,請參閱: http//docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM