gpt4 book ai didi

java - 为什么我不能通过标题栏拖动窗口?

转载 作者:行者123 更新时间:2023-11-29 05:58:49 25 4
gpt4 key购买 nike

所以我尝试创建一个可以通过标题栏拖动的窗口。因为它在另一个框架内,所以我需要手动执行此操作。这就是鼠标监听器的代码。

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 以跟踪鼠标在标题栏上的位置,但我想对此进行测试。问题是它会移动一次,然后当我四处拖动鼠标时就不会再移动了。这是为什么?

最佳答案

因为您没有更新 currentMouseEvent,所以您一直将窗口移动到按下鼠标的位置。

您将需要一个 MouseMotionListener 以在拖动过程中获取新事件。

关于java - 为什么我不能通过标题栏拖动窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10974180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com