Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
nullレイアウトのJPanelがあります。このパネルでは、いくつかのカスタムJComponentをマーカー、小さな赤い丸、線として描画します。
線が水平または垂直でない場合、JComponentの「センシティブエリア」は、線自体が斜辺になっている長方形です。この過剰な領域は、多くの場合、MouseEventsをマーカーに「盗み」ます。
ユーザーが実際の線をクリックしていない場合、MouseEventsをカバーされたオブジェクトに「渡す」にはどうすればよいですか?
正しいアプローチは、moonwave99によって提案されたものです。
1)行の配列を作成して維持します。
2)Graphics2Dプリミティブを使用して、JPanelのpaintComponentメソッドをオーバーライドする配列内のすべての線を描画します。
3)行の配列にリサーチ関数を含むMouseListenerをJPanelに追加して、どの行が選択されているかを確認します。