Java打开一个相对于按钮位置的JFrame(类似行为的菜单)

Ale*_*lex 4 java user-interface swing position jframe

我正在尝试实现扩展功能,如下例所示,但是我使用的JFrame包含更复杂的GUI元素,而不是菜单. 在此输入图像描述 我遇到的问题是,如果我移动包含框架应该出现的按钮的父窗口,我无法调整我的自定义JFrame每次相对于该按钮的位置打开

最初我只是用过

myCustomFrame.setLocation(myButton.getX(), (myButton.getY() + 73));
Run Code Online (Sandbox Code Playgroud)

但是如果我改变移动父窗口,这显然不起作用

之后我尝试了

myCustomFrame.setLocationRelativeTo(myButton);
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,它出现在按钮的顶部...我调整特定情况的位置,但这不是一个解决方案.

所以我试图获得与菜单相同的行为,以便自动调整JFrame的位置.

有没有人有什么建议?

sor*_*end 5

你考虑过用过myButton.getLocationOnScreen()吗?这样,无论你在哪里移动包含按钮的jFrame,你都会从屏幕的左上角开始测量你的按钮点.

您可以改变原始方法,如下所示:

myCustomFrame.setLocation(myButton.getLocationOnScreen().x, (myButton.getLocationOnScreen().y + 73));
Run Code Online (Sandbox Code Playgroud)