hosil bo'ladi. Bosilganda asosiy tomonidan belgilanadi keyCode mulk va bir Virt -
kitobida asosiy kodi repro u bilan qabul qilinadi senting KeyEvent ning getKeyCode
() usuli. Virtual kalit kodi voqeani keltirib chiqargan aniq klaviatura tugmachasini
Dasturlash II fanidan 9-ma’ruza
4
xabar qilish uchun ishlatiladi. Masalan, KeyEvent.VK_ ENTER . KeyEvent har
birida " VK " prefiksi bilan boshlanadigan ko'p sonli doimiy konstantalarni
aniqlaydi, bu Virtual Kalit ( to'liq ro'yxat uchun KeyEvent API hujjatlariga qarang
). Misol uchun , agar CTRL-C yozilsa, ikkita KEY _ PRESSED voqealari o'chiriladi.
CTRL tugmachasiga to'g'ri keladigan getKeyCode () bilan qaytarilgan int
KeyEvent-ga mos keladigan qiymat bo'ladi . VK _ CTRL . Xuddi shunday, int
tomonidan qaytib getKeyCode()bir qiymati taaluqli bo'ladi C tugmasini bosib
KeyEvent.VK_C mos (E'tibor bering, ularni ishga tushirish tartibi ularni bosish
tartibiga bog'liq.) KeyEvent shuningdek keyChar() xususiyatini ushlab turadi, unda
bosilgan belgi Unicode vakili ko'rsatilgan (agar Unicode vakili bo'lmasa,
KeyEvent). CHAR_UNDEFINED ishlatiladi
masalan, odatiy kompyuter
klaviaturasidagi funktsional tugmachalar). GetKeyChar () usuli yordamida har
qanday KeyEvent-ga mos keladigan keyChar belgilarini olishimiz mumkin .
Masalan, C tugmachasini bosishga mos keladigan getKeyChar () bilan qaytarilgan
belgi c bo'ladi. Agar C tugmachasi bosilganda SHIFT bosilsa va ushlab turilsa , C
tugmachasiga mos keladigan getKeyChar () bilan qaytarilgan belgi C bo'ladi. (Shuni
esda tutingki, alohida keyChars harflar katta va kichik harflar uchun qaytariladi , shu
bilan bir xil tugmacha kodi ham ishlatiladi, masalan, qiymati VK_C tomonidan
qaytariladi getKeyCode()qat'i nazar SHIFT-C asosiy bosilganda pastga o'tkaziladi.
Bundan tashqari, kabi tugmalar bilan bog'liq hech qanday keyChar() borligini qayd
CTRL va getKeyChar( ) bu holda bo'sh charni qaytaradi.)
private void jTextField1KeyPressed(java.awt.event.KeyEvent evt){
private void jTextField1KeyPressed(java.awt.event.KeyEvent evt)
jTextArea1.setText(evt.getKeyChar()+" ning kodi "
+evt.getKeyCode()+" teng");
}
Masalan Enter tugmasini bosganimizda quyidagi natijani chiqaradi
Dasturlash II fanidan 9-ma’ruza
5
Lekin boshqa foydalanuvchi qaysi tugmani bosganligini bilmay qolishimiz
mumkin uning uchun matin korinishida chiqaramiz
private void jTextField1KeyPressed(java.awt.event.KeyEvent evt){
jTextArea1.setText(evt.getKeyChar()+" ning kodi "+evt.getKeyCode()+"
teng"+"\n"+KeyEvent.getKeyText(evt.getKeyCode()));}
private void jTextField1KeyPressed(java.awt.event.KeyEvent evt)
jTextArea1.setText(evt.getKeyChar()+" ning kodi
Dasturlash II fanidan 9-ma’ruza
6
"+evt.getKeyCode()+" teng"+"\n"
+ ""+KeyEvent.getKeyText(evt.getKeyCode()));
int keycode= evt.getKeyCode();
if(keycode == KeyEvent.VK_RIGHT)
jPanel1.setLocation(jPanel1.getX()+5, jPanel1.getY());
else
if(keycode == KeyEvent.VK_LEFT)
jPanel1.setLocation(jPanel1.getX()-5, jPanel1.getY());
else
if(keycode == KeyEvent.VK_DOWN)
jPanel1.setLocation(jPanel1.getX(), jPanel1.getY()+5);
else
if(keycode == KeyEvent.VK_UP)
jPanel1.setLocation(jPanel1.getX()+5, jPanel1.getY()-5);
}
Do'stlaringiz bilan baham: