カスタム タイトルバーを作成したいので、ユーザーがシェルのサイズを変更して移動できるようにするコードを作成する必要があります (私は SWT を使用しています)。
a) マウスアップのキャプチャ
b) サイズ変更
shell.addMouseListener(new MouseAdapter() {
@Override
public void mouseDown(final MouseEvent arg0) {
move=true;
oldx=arg0.x;
oldy=arg0.y;
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
while (move) {
shell.setLocation(MouseInfo.getPointerInfo().getLocation().x-oldx, MouseInfo.getPointerInfo().getLocation().y-oldy);
}
}
});
}
@Override
public void mouseUp(MouseEvent arg0) {
move=false;
}
});
シェルの移動は機能していますが、マウスアップ イベントをキャプチャしません。また、サイズ変更の仕方もわかりません。私が試してみました
shell.setSize(MouseInfo.getPointerInfo().getLocation().x-shell.getBounds().x, MouseInfo.getPointerInfo().getLocation().y-shell.getBounds().y);
しかし、うまくいきません。