目錄及原始碼鏈結
①輸入三位數自動與螢幕中顯示的數字比較,若相同則消除並重新生成數字,記錄得分
②輸入空格暫停,暫停時輸入任意字元繼續遊戲
新建乙個jpanel,並在其中新增乙個jtextfield來獲取輸入的內容。
往jtextfield中新增乙個繼承介面卡抽象類的匿名內部類來監聽鍵盤事件。
鍵盤監聽的方法有keypressed()、keytyped()、keyreleased()。
下面我先進行乙個測試,測試在這些方法中用文字框的gettext()獲取的文字框內容的差別:
先輸入數字4,再輸入數字5,
可見keypressed和keytyped會在你輸入的文字字元新增到文字框之前呼叫,因此,為了要達到我們需要的目的,我就將長度比較的**寫在keyreleased方法中。
方法如下:每次往文字框鍵入內容監聽文字框內容的長度,若文字框長度大於等於3則用settext("")來清空文字框內容。
ps:當每次輸入長度大於等於三時,獲取文字框輸入的內容,然後與之前建立的字元陣列進行比較,若相同,則用講過的生成隨機數的方法再生成乙個隨機數(記得保證首位與其他的相同,而且要將其縱座標置為原來的初始下落位置)1.關於為何要大於等於三而不是單純等於三的原因,是被我乙個******舍友試出來的,趁著鍵盤監聽不注意,對著輸入框一頓暴風輸入,結果如下:
他輸入的長度早比三大了,但是鍵盤***並不清空文字框輸入的內容,因此要提防這種輸入過快的情況,就需要將等於三改為大於等於三。
2.但是如果按照我的方法將**都新增到keyreleased中,會出現以下問題: 一是如果你的輸入速度過快,會出現無法識別的現象。
二是如果你長按乙個數字,文字框的文字會一直增加到你放下按鍵才會清空,我試過在keypressed中輸入的文字檢測長度,但是效果不佳,也就放棄了,有興趣的讀者可以去想辦法解決看看。
if
(in.
gettext()
.length()
>=3)
num[i]
= integer.
tostring((
int)
(math.
random()
*900
+100))
;while
(true)}
break;}
}}
js實現輸入框輸入的自動匹配功能
完成輸入框輸入的自動匹配功能。參考 這裡增加了和輸入拼音相對應的中文匹配。如果能進一步完善,多謝指教。核心js 如下,demo見附件。輸入框的自動匹配核心控制類 param fixdom 存放用於匹配的值的div物件 function inputautofix aconfig var canfix ...
打字遊戲之閃爍功能的實現
目錄及原始碼鏈結 當按開啟閃爍按鈕時,四列數字會進行閃爍 每隔一段時間消失一段時間,然後再出現一段時間 效果如下 1.閃爍的原理 要讓數字發生閃爍,其實只要設定乙個記錄時間的變數,每次在run函式結束後記錄乙個結束時間,然後看看經過多少時間,如果時間滿足一定條件,則繪出數字,否則,不繪出數字,這樣子...
QT IP輸入框的實現
流程圖 我首先在xx.ui介面中畫了四個lineedit 分別取名為 le ip 1,le ip 2,le ip 3,le ip 4 做輸入ip位址用,限定了最大輸入長度為3 三個label 輸入點 最外面的框是乙個容器frame 遇到的問題 解決方法 只能採取笨辦法判斷是哪個lineedit發出訊...