gpt4 book ai didi

Java jLabel 从 netbeans "events"上下文菜单中拖放

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:21 24 4
gpt4 key购买 nike

我正在尝试跟随鼠标指针在屏幕上拖动 jLabel。由于我不是 GUI 编程方面的专家,因此我尝试使用 Netbeans 的 GUI 设计工具来实现。

我单击“events-mousemotion-mousedragged”,然后插入以下代码:

private void jLabel2MouseDragged(java.awt.event.MouseEvent evt) {                                     
int x=evt.getX();
int y=evt.getY();

jLabel2.setLocation(x, y);
jLabel2.repaint(); }

我并不指望这段简单的代码能够产生奇迹,但问题是它的行为方式不稳定,jLabel 会弹出并在其容器内的几乎所有地方闪烁。

如果有任何帮助,布局设置为绝对。

谢谢。

最佳答案

MadProgrammer指出,这就是问题所在。这是我的鼠标拖动方法:

private void jLabel2MouseDragged(java.awt.event.MouseEvent evt)  {                                     

Point p = SwingUtilities.convertPoint(evt.getComponent(), evt.getPoint(), getContentPane());
int x=p.x;
int y=p.y;

jLabel2.setLocation(x-120, y-120);
jLabel2.repaint();

}

jLabel 现在可以平稳移动。

我的标签大约为 240x240 像素,因此我更正了坐标,将标签的中心放置在鼠标指针所在的位置。

谢谢!

关于Java jLabel 从 netbeans "events"上下文菜单中拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26939289/

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