Java jLabel拖拽netbeans" events"上下文菜单

时间:2014-11-14 21:40:19

标签: java netbeans jlabel drag

我试图按照鼠标指针在屏幕上拖动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会弹出并在其容器内的任何地方闪烁。

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

感谢。

1 个答案:

答案 0 :(得分:0)

正如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像素,因此我更正了坐标,使标签的中心位于鼠标指针所在的位置。

谢谢!