تستكشف هذه المقالة النهج الصحيح للتعامل مع إدخال المستخدم من لوحة المفاتيح والماوس في هذا الوضع. ومع ذلك ، في وضع كامل الشاشة الحصري ، قد لا تعمل هذه الأساليب كما هو مقصود.
استيراد java.awt.color ؛
استيراد java.awt.displaymode ؛
استيراد java.awt.graphics2d ؛
استيراد java.awt.graphicsconfiguration ؛
استيراد java.awt.graphicsdevice ؛
استيراد java.awt.graphicsenvironment ؛
استيراد java.awt.Rectangle ؛
استيراد java.awt.event.actionevent ؛
استيراد java.awt.event.actionListener ؛
استيراد java.awt.event.keyevent ؛
استيراد java.awt.event.mouseadapter ؛
استيراد java.awt.event.mouseevent ؛
استيراد java.awt.image.bufferStrategy ؛
استيراد javax.swing.jframe ؛
استيراد javax.swing.timer ؛
يمتد Applet الفئة العامة Applet {
مؤقت المؤقت
إطار Jframe ؛
DisplayMode [] DisplayModes = New DisplayMode [] {
DisplayMode جديد (1280 ، 800 ، 32 ، 60)
} ؛
BufferStrategy BufferStrategy.
حدود المستطيل
/**
*
*/
خاص ثابت نهائي طويل المسبانيويد = 1L ؛
/**
* param args
*/
الفراغ العام init () {
// ... كما كان من قبل
// ...
// سجل مستمعي الأحداث الرئيسية
this.getInputMap (). put (KeyStroke.getKeyStroke (keyevent.vk_q ، 0) ، "exit") ؛
this.getActionMap (). put ("exit" ، new AbstractAction () {
@تجاوز
الفراغ العام actionperformed (Actionevent e) {
// الخروج من التعامل مع مفتاح
}
}) ؛
// تسجيل مستمعي الأحداث الماوس
this.addmouseMotionListener (new mouseadapter () {
@تجاوز
الفراغ العام mousemoved (mouseevent e) {
// معالجة حركة الماوس
}
}) ؛
}
// ... كما كان من قبل
// ...
}
يضمن هذا المثال المنقح أن يتم التعامل مع أحداث لوحة المفاتيح والماوس بشكل صحيح في وضع كامل الشاشة الحصري. يسجل مستمعي الأحداث الرئيسيين باستخدام GetInputMap و GetActionMap ، ويسجل مستمعي الأحداث الماوس باستخدام AddMouseMotionListener.