所以我试图有一个可以通过标题栏拖动的窗口。由于它在另一个框架内,我需要手动执行此操作。这就是鼠标侦听器的代码。
titleBar.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
currentMouseEvent = e;
dragging = true;
}
public void mouseReleased(MouseEvent e)
{
dragging = false;
currentMouseEvent = null;
}
});
这是更新循环的代码。(这是在另一个线程的while循环中)
if (dragging)
{
try
{
setPosition(currentMouseEvent.getXOnScreen(), currentMouseEvent.getYOnScreen());
}
catch(NullPointerException e)
{
//do nothing
Main.SoundSystem.fatalError();
}
}
我知道需要更改 setPosition 以跟踪鼠标在标题栏上的位置,但我想对此进行测试。问题是它会移动一次,然后在我拖动鼠标时不再移动。这是为什么?