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();
}
}
が解決:ややコードを要約する
入力後にマウスを動かす。
で の設定を確認する必要があります:プレスを入力中。とにかく、FYI、あなたのコードは私に働いています。 – Thrasher
申し訳ありませんが、正確にはどういう意味ですか?マウスボタン3が登録されているが、マウスボタン1が登録されていない理由は説明していません。 –
私はそれが私のために働いていることを意味します。 S.Oレベルの設定ですか? (入力中にクリックすると無効になりますか?) – Thrasher