【发布时间】:2011-06-20 10:15:49
【问题描述】:
好的,我知道该怎么做,但它正在做一些奇怪的事情。
我正在尝试获取正确的 X Y 坐标,以便 JMenu 出现。我找到了一种方法,但这只是一种黑客行为。在我添加字符面板之前,所有的右键单击都发生在JList 上,所以假设您在左上角附近单击右键。您希望 Y 坐标约为 40~ 像素,Y 坐标约为 100~ 像素,对吧?因为您单击的是JList 所在的左侧。错误的。当我希望它从整个应用程序的左上角开始计数时,x y 坐标从 JList 的左上角开始计数。 :S
那么,我做了什么?由于 Y 坐标是正确的,我在 X 坐标上添加了 512 个像素,因此它始终在 JList 中。像这样:
int newMouseX = 512+e.getX();
popup.show(tileOffline.this, newMouseX, e.getY()); // show item at mouse
但是,正如您所知,我不会永远右键单击JList。
我怎样才能从整个小程序中获得鼠标的确切 X Y 坐标?
这是描述没有 512 hack 的情况的图片:
【问题讨论】:
-
您已经获得了关于“如何显示弹出菜单”(stackoverflow.com/questions/4854185/…) 的 Swing 教程的链接。您需要的代码在教程中。阅读教程。运行代码示例。理解代码示例。当您遇到问题时,发布您的 SSCCE(不是图片)。当我们花时间回答您的问题而您甚至无法阅读教程时,这会令人沮丧。
标签: java user-interface swing