mouseListeners を使用する 2 つのコンポーネントを含むプログラムを作成しました。
- ResizeRectangle はハンドル付きの四角形を描画し、四角形の移動とサイズ変更を可能にします。これは、MouseEvents および MouseMotionEvents (MouseMove、MousePressed、MouseDragged、および MouseReleased) を処理します。
- IconGrid は、四角形内にアイコンのグリッドを描画し、アイコンを選択 (クリック) できるようにします。このための MouseClicked イベントを処理します。
Windowsではすべて正常に動作します。今日、プログラムを Mac に移植しようとしましたが、MouseClicked イベントが発生しません。MouseClicked イベントを ResizeRectangle に配置しましたが、そこでも発生しません。MouseReleased イベントを IconGrid に配置すると、発生します。したがって、問題は実際には mouseClicked イベントにあるようです。
Mac では、マウスを押してから離すまでのわずかなピクセルの変化でも、MouseClicked が発生しないという別の記事を読みました。しかし、マウスを空中でクリックしても (プレスとリリースの間でマウスを移動する可能性はありません)、mouseClicked イベントは発生しません。
他の誰かがこの問題を抱えていましたか?これはMacのバグですか?