- 185 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 12:41:24 ]
- >>183
これでいいんじゃね? 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)); } }
|

|