我正在開發一些java中的可視化。我有一個問題,但。我在我的程序中繪製了一個Arc2D,並且我想將一個MouseInputListener添加到我的Arc2D中。問題是,一個Arc2D對象伸展在一個矩形上,而不僅僅是被繪製的線條。所以當我想要得到一個鼠標懸停效果時,它對於整個矩形而不僅僅是Arc2D的線條。你們有沒有解決這個問題的方法?Arc2D上的MouseInputListener java
我的代碼如下所示:
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);
你檢查過弧的'PathIterator'嗎? – trashgod 2013-02-16 14:48:36
包含的是Shape(封閉形狀)的方法,該區域不是曲線。 – Aubin 2013-02-16 14:49:49