0

nullレイアウトのJPanelがあります。このパネルでは、いくつかのカスタムJComponentをマーカー、小さな赤い丸、線として描画します。

線が水平または垂直でない場合、JComponentの「センシティブエリア」は、線自体が斜辺になっている長方形です。この過剰な領域は、多くの場合、MouseEventsをマーカーに「盗み」ます。

ユーザーが実際の線をクリックしていない場合、MouseEventsをカバーされたオブジェクトに「渡す」にはどうすればよいですか?

4

1 に答える 1

2

正しいアプローチは、moonwave99によって提案されたものです。

1)行の配列を作成して維持します。

2)Graphics2Dプリミティブを使用して、JPanelのpaintComponentメソッドをオーバーライドする配列内のすべての線を描画します。

3)行の配列にリサーチ関数を含むMouseListenerをJPanelに追加して、どの行が選択されているかを確認します。

于 2012-09-26T00:44:32.813 に答える