intuling in full screenの排他的モードでのフルスクリーンの排他的モードでのハンドリング
を排他的モードで実行するとき、通常のイベント処理メカニズムは予想されるように機能しない場合があります。この記事では、このモードでキーボードとマウスからのユーザー入力を処理するための正しいアプローチを調査します。ただし、フルスクリーンの排他的モードでは、これらのメソッドは意図したとおりに機能しない場合があります。 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.buffertrategyをインポートします。 javax.swing.jframeをインポートします。 javax.swing.timerをインポートします。 パブリッククラスのアプレットはアプレットを拡張します{ タイマータイマー; JFrameフレーム; displayMode [] displayModes = new DisplayMode [] { 新しいDisplayMode(1280、800、32、60) }; BufferStrategy BufferStrategy; 長方形の境界; /** * */ private static final long serialversionuid = 1l; /** * @param args */ public void init(){ // ...以前と同じ // ... //キーイベントリスナーを登録します this.getInputMap()。put(keystroke.getKeystroke(keyevent.vk_q、0)、 "exit"); this.getActionMap()。put( "exit"、new Abstractaction(){ @オーバーライド public void actionperformed(ActionEvent e){ //キーハンドリングを終了します } }); //マウスイベントリスナーを登録します this.addmousemotionListener(new Mouseadapter(){ @オーバーライド Public void mousemoved(mousevent e){ //マウスの動きの取り扱い } }); } // ...以前と同じ // ... }
この改訂された例により、キーボードとマウスのイベントがフルスクリーン限定モードで正しく処理されることが保証されます。 getInputMapとgetActionMapを使用してキーイベントリスナーを登録し、addMouseMotionListenerを使用してマウスイベントリスナーを登録します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3