我试图按照鼠标指针在屏幕上拖动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会弹出并在其容器内的任何地方闪烁。
如果有任何帮助,布局设置为绝对。
感谢。
答案 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像素,因此我更正了坐标,使标签的中心位于鼠标指针所在的位置。
谢谢!