gpt4 book ai didi

java 。 Swing 。绝对位置

转载 作者:行者123 更新时间:2023-11-29 03:51:52 24 4
gpt4 key购买 nike

我需要在窗口中设置组件的位置。我需要在另一个被单击的组件附近的 GlassPane 上绘制组件。我将组件传递给某个管理器,该组件会引发点击事件,我想在那里获取绘制位置的坐标。

public void mouseClicked(MouseEvent e) {
ApplicationManager.getInstance().drawOnGlassPane((Component e.getSource());
}

public void drawOnGlassPane(final Component caller) {

mainFrame = (JFrame) SwingUtilities.getWindowAncestor(caller);
JPanel glassPane = (JPanel) mainFrame.getGlassPane();
glassPane.setVisible(true);

Point where = caller.getLocationOnScreen();
JButton btn = new JButton("on glass pane");
btn.setBounds((int) where.getX(), (int) (where.getY() + caller.getHeight()), 50, 20);
glassPane.add(btn);
}
}

新组件出现在错误的地方。我怎样才能设置正确的位置?

最佳答案

这个问题在关于 How to Use Root Panes 的教程中进行了描述,包括示例, 另一个例子 herehere

关于 java 。 Swing 。绝对位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com