[英]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.