2016-12-19 10 views
0

アプリケーションエンジンを作成していますが、イベント登録システムに問題が見つかりました。キーボードを入力してマウスの左ボタンを押すと、ウィンドウはマウス・プレスを登録しないようです。しかし、キーボードを入力しているときにマウスの右ボタンを押すと、実際に登録されます。どうやらWindowsの10で、クリックを登録したりするための遅延を制御PC設定 - > PCとデバイス - >マウスとタッチパッドの設定は、あります :Javaリスナー - 入力中にマウスの左押しが登録されていない

import java.awt.Dimension; 
import java.awt.event.KeyEvent; 
import java.awt.event.KeyListener; 
import java.awt.event.MouseEvent; 
import java.awt.event.MouseListener; 
import java.awt.event.MouseMotionListener; 
import javax.swing.JFrame; 

public class BasicEventTest implements KeyListener, MouseListener, MouseMotionListener { 

    JFrame frame; 

    /*********************************************** INPUT HANDLING ***********/ 
    public void keyPressed(KeyEvent k) { 
     System.out.println(k.getKeyCode()); 
    } 
    public void keyReleased(KeyEvent k) {} 
    public void keyTyped(KeyEvent k) {} 

    public void mousePressed(MouseEvent m) { 
     System.out.println("MOUSEPRESS " + m.getButton()); 
    } 
    public void mouseReleased(MouseEvent m) {} 
    public void mouseMoved(MouseEvent m) {} 
    public void mouseDragged(MouseEvent m) {} 
    public void mouseEntered(MouseEvent m) {} 
    public void mouseExited(MouseEvent m) {} 
    public void mouseClicked(MouseEvent m) {} 

    /**************************************************** CONSTRUCTOR *********/ 
    public BasicEventTest() { 
     frame = new JFrame("BasicEventTest"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.getContentPane().setPreferredSize(new Dimension(640, 480)); 
     frame.pack(); 
     frame.setLocationRelativeTo(null); 
     frame.setResizable(false); 
     frame.setVisible(true); 
     frame.createBufferStrategy(2); 
     frame.setIgnoreRepaint(true); 

     frame.addKeyListener(this); 
     frame.addMouseListener(this); 
     frame.addMouseMotionListener(this); 
    } 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     BasicEventTest test = new BasicEventTest(); 
    } 
} 

が解決:ややコードを要約する

入力後にマウスを動かす。

+0

で の設定を確認する必要があります:プレスを入力中。とにかく、FYI、あなたのコードは私に働いています。 – Thrasher

+0

申し訳ありませんが、正確にはどういう意味ですか?マウスボタン3が登録されているが、マウスボタン1が登録されていない理由は説明していません。 –

+0

私はそれが私のために働いていることを意味します。 S.Oレベルの設定ですか? (入力中にクリックすると無効になりますか?) – Thrasher

答えて

0

答えはコメントにある:コードは期待通りに働いている

ので、あなたはおそらく、あなたの両方の条件が同じであるS.Oレベル

関連する問題