我希望检测鼠标拖动TitleAreaDialog。所以我尝试将“DragDetectListener”和“MouseListener”添加到对话框的shell中。我发现当我拖动此对话框时,它不会调用此侦听器。我也尝试将“SWT.DragDetect”添加到shell.getDisplay()中,但这没有帮助。
之前是否有人添加此侦听器?
shell.addDragDetectListener(new DragDetectListener() {
@Override
public void dragDetected(DragDetectEvent e) {
System.out.println("dragDetected-------------");
}
});
答案 0 :(得分:0)
移动对话框不会触发拖放事件。
您可以使用ControlListener
来了解移动和调整事件的大小:
newShell.addControlListener(new ControlListener()
{
@Override
public void controlResized(final ControlEvent e)
{
// Resized
}
@Override
public void controlMoved(final ControlEvent e)
{
// Moved
}
});
请注意,在移动对话框结束时,您只能进行一次controlMoved
调用。