だから私はタイトルバーでドラッグできるウィンドウを作ろうとしています。別のフレーム内にあるため、これを手動で行う必要があります。マウス リスナーのコードは次のようになります。
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 を変更する必要があることはわかっていますが、これをテストしたかったのです。問題は、マウスをドラッグすると、一度移動し、その後移動しないことです。何故ですか?