我想创建自定义标题栏,所以我必须编写允许用户调整大小和移动外壳的代码(我正在使用 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);
但它不起作用。