★★ Java の宿題ここで答えます Part 61 ★★
■ このスレッドは過去ログ倉庫に格納されています
0185デフォルトの名無しさん
2007/06/02(土) 12:41:24これでいいんじゃね?
ptLineDistを使おうとしてるのが間違い
どうせ線分の延長線上をクリックした時も反応して困ったとかいうオチじゃないか?
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
public class Hoge extends MouseAdapter {
private static Line2D line = new Line2D.Double(10, 20, 140, 120);
public static void main(String[] args) {
JFrame f = new JFrame();
f.getContentPane().add(new JComponent(){public void paintComponent(Graphics g){((Graphics2D)g).draw(line);}}).addMouseListener(new Hoge());
f.setSize(240, 200);
f.setVisible(true);
}
public void mouseClicked(MouseEvent e) {
int x = e.getX(), y = e.getY();
if (line.ptSegDist(x, y) <= 10) System.out.println("(" + x + ", " + y + ") " + line.ptSegDist(x, y));
}
}
■ このスレッドは過去ログ倉庫に格納されています