如题

解决方案 »

  1.   

    可以建立一个鼠标点击的Listener,然后判断getX和getY如果在你的那根直线上就可以进行你的动作了
      

  2.   

    可以将JAVA的JComponent变成任意形状的吗?那样会方便一下,我不仅仅想响应事件,而且还会给线加Border等操作,如果那样算不太现实
      

  3.   

    GIS里面查询线条的做法是根据坐标点来操作的.鼠标点击后,记录它的坐标点,然后将该坐标点也你的直线的坐标点去对应,用上点到直线的距离,给它一个误差,在该误差范围内就算选中线,执行你的操作
      

  4.   

    按一楼的说就可以。如果是用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上画。
        
      

  5.   

    各位说的都很难实现,我有一个解次画直线,然后响应坐标,也就是判断它的坐标了,但是如果将加粗,也就是使用Stroke,就不知道如何判断了,判断直线的坐标代码如下:GeneralPath.contains(double x, double y);该类为记录线上的Point,可以是直线,也可以是曲线了,然后直接用Graphics2D.draw()方法就可以画出线了,但是如果将线加粗,就不知道如何判断了
      

  6.   

    面且,如何再给画出的线加上Border呢??????
      

  7.   

    响应事件的类必须继承自Component类,你可以写一个继承自JComponent的类,然后在上面画线,注册鼠标事件……