我写了一个程序,需要把JTable中的内容拖动至旁边的容器中,打算是在Jtable中添加MouseListener事件,通过mouseReleased方法捕获鼠标拖动,现在能捕获鼠标拖动事件和相应的内容了,但是却无法获得鼠标停在哪个组件上,就是目标JTextArea,希望高手们能帮下忙,我的JPane中有2个JTextArea和一个JTable,画面很简单

解决方案 »

  1.   

    那要不根据鼠标位置吧?不知道行不行,就是获得JTextArea,获得鼠标移动到它的位置。。如果是在那个JTextArea里面的范围 就释放鼠标,把内容设置给JTextArea...
      

  2.   

    一楼apple12655 说的和我想的差不多,问题是如何获得光标释放在的哪个JTextArea呢?能说的具体一下吗?谢谢,拜托。
      

  3.   

    2个JTextArea 分别添加鼠标进入事件 
    尝试一下 我也不知道可以不
      

  4.   

    4楼 l417584711 说的方法会出现问题,我已经试过了,就是如果加入鼠标进入事件的话即时没有拖动JTable,而是鼠标正常进入的也会触发事件,那样就会有很大问题了,呵呵,多谢你的回答,还有其他办法吗?
      

  5.   

    ....加个判断就好了。
    设个变量move 如果JTable拖动则置1否则0
    而TextArea鼠标进入事件 先判断move的值PS:如果2个TextArea的位置和大小固定,可以考虑直接判断坐标,不过,不是判断鼠标的坐标而是类似于判断2个物体的碰撞
      

  6.   

    用定义坐标的方法在JTextArea中写入,再用输出流把Jtable中的值传到你在JtextArea写入的坐标上就行了
      

  7.   


    回复: l417584711 
    如果设标识判断的话鼠标拖动是用mouseReleased事件吗?如果是这个事件的话,它是等鼠标放开的时候执行,而
    JTextArea加的鼠标进入事件会在它之前捕获,所以标识位没有起到作用,是不是用别的监听事件?
      

  8.   

    记得好像是mouseEntered(这个鼠标进入事件 应该是这么写的,去看下api,Released是释放事件)
    最基本的鼠标进入一个按钮的范围 鼠标会变成小手的图标(可以去网上找这个例子的代码 看一下就明白了)
      

  9.   

    用 DND包~
    Drag and drop
      

  10.   

    两个JTextArea都有一个那个位置吧,假设第一个JTextArea的位置大小 0,0,20,20
    第2个JTextArea的位置大小 30,30,20,20。鼠标移动的时候 e.getX(),e.getY();这里的两个坐标你看是属于 20 x 20里面的 还是属于 后面那个JTextArea的范围我不知道是否可行,我是这样想的