当前位置:  技术问答>java相关

关于JTree右键弹出菜单的位置不与鼠标的位置一致的问题

    来源: 互联网  发布时间:2015-09-12

    本文导语:  现有棵JTree,比如说右三个叶子,1、2、3,当在叶子1上单击时,弹出一个弹出式菜单, 代码为popmiComm.show(this,e.getX(),e.getY()); 而位置并不在鼠标的位置上,离了一段距离,不知为何? 是不是象VC那样,需要坐标变换。cli...

现有棵JTree,比如说右三个叶子,1、2、3,当在叶子1上单击时,弹出一个弹出式菜单,
代码为popmiComm.show(this,e.getX(),e.getY());
而位置并不在鼠标的位置上,离了一段距离,不知为何?
是不是象VC那样,需要坐标变换。clientToScreen、ScreenToClient,
帮帮忙,解答之后,立即给分

|
e.getX()得到的是你捕获该鼠标事件的组件中的相对的位置,而jPopupMenu的显示是一个绝对作标。这就需要把捕获鼠标事件的组件的本身位置加上去。
_________________________________________________________________
java.awt.component.getX()

getX
public int getX()
Returns the current x coordinate of the components origin. This method is preferable to writing component.getBounds().x, or component.getLocation().x because it doesn't cause any heap allocations. 

Returns:
the current x coordinate of the components origin
Since:
1.2 ___________________________________________________________________
java.awt.event.MouseEvent.getX()

getX
public int getX()
Returns the horizontal x position of the event relative to the source component. 

Returns:
x an integer indicating horizontal position relative to the component

|
楼上的说法好像不对吧? :)
JPopupMenu.show()有个invoker参数 ,point是相对于它的 ,如果为null,才是绝对坐标。

popUp.show(jTree, e.getX(), e.getY());

|

我也用过这个,挺好使的,你再查查this,看看API specification

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问Swing中的JTree控件如何让监听一个子叶的鼠标事件?
  • 如何在FRAME(包含JTREE、JBUTTON等)处于等待状态时屏蔽各组件的鼠标单击事件?(检索不到相应答案)
  • java命名空间javax.swing类jtree的类成员方法: jtree定义及介绍
  • 请问何用新的JTree刷新旧的jtree?
  • java命名空间javax.swing类jtree.accessiblejtree的类成员方法: jtree.accessiblejtree定义及介绍
  • 怎样使JTree对象可以自动有滚动条,
  • java命名空间javax.swing类jtree.treeselectionredirector的类成员方法: jtree.treeselectionredirector定义及介绍
  • JTREE
  • java命名空间javax.swing类jtree.accessiblejtree.accessiblejtreenode的类成员方法: jtree.accessiblejtree.accessiblejtreenode定义及介绍
  • jTree 刷新问题!
  • java命名空间javax.swing类jtree.treemodelhandler的类成员方法: jtree.treemodelhandler定义及介绍
  • 请详细介绍一下JTree的使用方法,88分奉送......................
  • java命名空间javax.swing类jtree.emptyselectionmodel的类成员方法: sharedinstance定义及介绍
  • JTree怎么用呀?
  • java命名空间javax.swing类jtree的类成员方法: selectionredirector定义及介绍
  • 怎样得到Jtree选中项(要String形式)?
  • java命名空间javax.swing类jtree.dynamicutiltreenode的类成员方法: haschildren定义及介绍
  • 如何响应JTREE中的节点点击事件??
  • java命名空间javax.swing类jtree的类成员方法: getaccessiblecontext定义及介绍
  • 程序运行时,出现一个完全展开的JTree?
  • java命名空间javax.swing类jtree的类成员方法: createtreemodellistener定义及介绍
  • 请问:如何在java中的jtree控件中使用checkbox
  • java命名空间javax.swing类jtree的类成员方法: paramstring定义及介绍
  • 求助!!!JTree


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3