怎样获得jtree中treenode的坐标

yuzhouhenan 2007-06-20 04:38:24
我想在右键单击treenode时,弹出popupmenu,但是现在是可以弹出,但我不能将popupmenu定位在treenode处,要得到treenode的坐标,然后才能定位弹出菜单,但现在treenode的坐标我不知道怎么得到。
我现在倒可以得到treenode的y坐标,x坐标我通过treenode.getPath().length*30得到,很明显这样得到x坐标不太好,因此请教x坐标怎么得到。谢谢!
...全文
291 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuzhouhenan 2007-06-20
  • 打赏
  • 举报
回复
我知道怎么办了!
jTree1.getPathBounds(treepath)可以得到treenode的位置
yuzhouhenan 2007-06-20
  • 打赏
  • 举报
回复
我现在就是这样做的,但是这样弹出菜单的位置就是变动的
boby 2007-06-20
  • 打赏
  • 举报
回复
那就先判断一下是不是在树节点上:

if (tree.getRowForLocation(e.getX(), e.getY()) > -1)
yuzhouhenan 2007-06-20
  • 打赏
  • 举报
回复
是啊,但是这样弹出菜单的位置就以鼠标位置确定,我是想让弹出菜单在treenode附近弹出,这样就需要知道treenode的坐标
boby 2007-06-20
  • 打赏
  • 举报
回复
我不清楚你是怎么处理弹出菜单的,我一般是把弹出事件写在mouseReleased( MouseEvent e )里面,用的mouse的位置定位菜单,比方说

public void mouseReleased( MouseEvent e ) {
if ( e.isPopupTrigger()) {
popupMenu.show((JComponent)e.getSource(),
e.getX(), e.getY() );
}
}

62,623

社区成员

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

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