[英]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.