JavaSwingを使用してGUIアプリケーションでいくつかのMouseEventを処理しています。
今から私はmousePressedメソッド内のマウスイベントを分析していましたが、左クリックと右クリックのどちらが発生したかを判断するためだけに使用しました。
私のコードは:
public void mousePressed(MouseEvent me) {
if (me.getModifiers == InputEvent.BUTTON1_DOWN_MASK){
//left click
}else if (me.getModifiers == InputEvent.BUTTON3_DOWN_MASK){
//right click
}
現在、私のアプリケーションはより複雑になっており、マウスを左クリックしたときにShiftボタンが押されたかどうかも確認する必要があります。私はこのようなことをしたいと思います:
public void mousePressed(MouseEvent me) {
if (me.getModifiers == InputEvent.BUTTON1_DOWN_MASK && me.isShiftDown()){
//left click
}
今、これは機能しません。特に、SHIFTを押しながら左ボタンをクリックするとisShiftDownはtrueを返します(厳密に言えば、私はそれを期待していました)が、修飾子も変更され、BUTTON1_DOWN_MASKとの比較が失敗したようです。
me.getModifiers == InputEvent.BUTTON1_DOWN_MASK //failed..modifiers are changed
私は何が間違っているのですか?コードを修正するにはどうすればよいですか?