Swing中鼠标拖动JTable内容至JTextArea

liutao469 2009-07-16 05:14:01
我写了一个程序,需要把JTable中的内容拖动至旁边的容器中,打算是在Jtable中添加MouseListener事件,通过mouseReleased方法捕获鼠标拖动,现在能捕获鼠标拖动事件和相应的内容了,但是却无法获得鼠标停在哪个组件上,就是目标JTextArea,希望高手们能帮下忙,我的JPane中有2个JTextArea和一个JTable,画面很简单
...全文
196 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LazyCat2222 2009-07-20
  • 打赏
  • 举报
回复
两个JTextArea都有一个那个位置吧,假设第一个JTextArea的位置大小 0,0,20,20
第2个JTextArea的位置大小 30,30,20,20。鼠标移动的时候 e.getX(),e.getY();这里的两个坐标你看是属于 20 x 20里面的 还是属于 后面那个JTextArea的范围。。。我不知道是否可行,我是这样想的。。。
liutao469 2009-07-17
  • 打赏
  • 举报
回复
4楼 l417584711 说的方法会出现问题,我已经试过了,就是如果加入鼠标进入事件的话即时没有拖动JTable,而是鼠标正常进入的也会触发事件,那样就会有很大问题了,呵呵,多谢你的回答,还有其他办法吗?
aSysBang 2009-07-17
  • 打赏
  • 举报
回复
2个JTextArea 分别添加鼠标进入事件
尝试一下 我也不知道可以不。。。
liutao469 2009-07-17
  • 打赏
  • 举报
回复
一楼apple12655 说的和我想的差不多,问题是如何获得光标释放在的哪个JTextArea呢?能说的具体一下吗?谢谢,拜托。
kulatasana 2009-07-17
  • 打赏
  • 举报
回复
用 DND包~
Drag and drop
aSysBang 2009-07-17
  • 打赏
  • 举报
回复
记得好像是mouseEntered(这个鼠标进入事件 应该是这么写的,去看下api,Released是释放事件)
最基本的鼠标进入一个按钮的范围 鼠标会变成小手的图标(可以去网上找这个例子的代码 看一下就明白了)
liutao469 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 l417584711 的回复:]
....加个判断就好了。。。。
设个变量move 如果JTable拖动则置1否则0
而TextArea鼠标进入事件 先判断move的值

PS:如果2个TextArea的位置和大小固定,可以考虑直接判断坐标,不过,不是判断鼠标的坐标而是类似于判断2个物体的碰撞
[/Quote]

回复: l417584711
如果设标识判断的话鼠标拖动是用mouseReleased事件吗?如果是这个事件的话,它是等鼠标放开的时候执行,而
JTextArea加的鼠标进入事件会在它之前捕获,所以标识位没有起到作用,是不是用别的监听事件?
tan124 2009-07-17
  • 打赏
  • 举报
回复
用定义坐标的方法在JTextArea中写入,再用输出流把Jtable中的值传到你在JtextArea写入的坐标上就行了
aSysBang 2009-07-17
  • 打赏
  • 举报
回复
....加个判断就好了。。。。
设个变量move 如果JTable拖动则置1否则0
而TextArea鼠标进入事件 先判断move的值

PS:如果2个TextArea的位置和大小固定,可以考虑直接判断坐标,不过,不是判断鼠标的坐标而是类似于判断2个物体的碰撞
LazyCat2222 2009-07-16
  • 打赏
  • 举报
回复
那要不根据鼠标位置吧?不知道行不行,就是获得JTextArea,获得鼠标移动到它的位置。。如果是在那个JTextArea里面的范围 就释放鼠标,把内容设置给JTextArea...

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧