有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java jLabel从netbeans“事件”上下文菜单拖放

我正试图沿着鼠标指针在屏幕上拖动一个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();  }  

我不希望这段简单的代码能够在marvels中工作,但问题是它的行为方式不稳定,jLabel弹出并在其容器中几乎到处闪烁

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

谢谢


共 (1) 个答案

  1. # 1 楼答案

    正如{a1}所指出的,这就是问题所在。这是我的鼠标拖动方法:

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

    谢谢