Javaで視覚化を開発しています。でも問題があります。プログラムで Arc2D を描画しており、Arc2D に MouseInputListener を追加したいと考えています。問題は、Arc2D オブジェクトが、描画されている線だけでなく、四角形にまたがって伸びていることです。したがって、マウスオーバー効果を取得したい場合は、Arc2D の線だけでなく、四角形全体が対象になります。この問題の解決策はありますか?
私のコードは次のようになります。
final Arc2D arc =
new Arc2D.Double(x_pos, 10, x2_pos-x_pos, 190, 0, 360, Arc2D.OPEN);
JPanel jp = new JPanel();
addMouseInputListener(new MouseInputAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
System.out.println( "X: " + e.getX() + " Y: " + e.getY() +
" Does it touch the arc?: " + arc.contains(e.getX(), e.getY()));
}
// More MouseInputListener methods...
});
ga.draw(arc);