簡體   English   中英

Java jLabel從Netbeans“事件”上下文菜單中拖放

[英]Java jLabel drag and drop from netbeans “events” context menu

我正在嘗試將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像素,因此我將坐標更正為將標簽的中心放置在鼠標指針所在的位置。

謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM