我用Graphics2D在JPanel上画了一根线,如何让那个线响应鼠标事件 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以建立一个鼠标点击的Listener,然后判断getX和getY如果在你的那根直线上就可以进行你的动作了 可以将JAVA的JComponent变成任意形状的吗?那样会方便一下,我不仅仅想响应事件,而且还会给线加Border等操作,如果那样算不太现实 GIS里面查询线条的做法是根据坐标点来操作的.鼠标点击后,记录它的坐标点,然后将该坐标点也你的直线的坐标点去对应,用上点到直线的距离,给它一个误差,在该误差范围内就算选中线,执行你的操作 按一楼的说就可以。如果是用2D画的,应该就是用了Line2D这个类,可以很简单的画出直线。再把那个直线加个鼠标监听就可以了。如果要对直线实现修饰功能。可以用下面的:private Line2D line;public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; g2.setPaint(Color.black); g2.setStroke(new BasicStroke(5.0f)); g2.draw(line); }这样就可以啊。添加你想要的功能。如果要在JPanel里绘制任意形状,就用Polygon这个类。继承它就可以了。无论Line2D,Polygon都执行Shape这个interface,所以都可以直接在JPanel上画。 各位说的都很难实现,我有一个解次画直线,然后响应坐标,也就是判断它的坐标了,但是如果将加粗,也就是使用Stroke,就不知道如何判断了,判断直线的坐标代码如下:GeneralPath.contains(double x, double y);该类为记录线上的Point,可以是直线,也可以是曲线了,然后直接用Graphics2D.draw()方法就可以画出线了,但是如果将线加粗,就不知道如何判断了 面且,如何再给画出的线加上Border呢?????? 响应事件的类必须继承自Component类,你可以写一个继承自JComponent的类,然后在上面画线,注册鼠标事件…… javamail收新浪邮件问题 不能进行数据更改(access) 怎么将字节数组转换成十六进制字符串 这个问题怎么解决阿?请教高手 *** 【线程问题】一个普通的JAVA CLASS,哪些内容需要同步??在线等!谢谢!! *** 高分,有关java的事件处理机制。 一个File的问题 如何解决Applet对本地文件的AccessControlException cloudscape数据库JDBC问题? rmi是只有java2才有吗? 各位武林高手小弟这下有问题了!!! 问一个基本的问题,谢谢指教!
再把那个直线加个鼠标监听就可以了。如果要对直线实现修饰功能。
可以用下面的:
private Line2D line;public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(Color.black);
g2.setStroke(new BasicStroke(5.0f));
g2.draw(line);
}这样就可以啊。添加你想要的功能。如果要在JPanel里绘制任意形状,就用Polygon这个类。继承它就可以了。无论Line2D,Polygon都执行Shape这个interface,所以都可以直接在JPanel上画。