如何设置SWT Dialog的位置?

时间:2018-03-20 15:39:49

标签: eclipse dialog swt eclipse-rcp jface

我有一个按钮。如果单击,则会打开一个Dialog。即使我想将对话框放在某个位置,对话框也始终显示在屏幕的中央。

为什么?如何设置对话框的位置?

@Override
public void widgetSelected(SelectionEvent e) {
        Dialog dialog = new MyDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "MyDialog");
        dialog.open();
        Point pt = ImageDisplayHelper.getDisplay().getCursorLocation();
        System.out.println("location pt: "+pt); // pt is a valid location something like Point {1368, 220}
        dialog.getShell().setLocation(pt); // no effect whatsoever
        dialog.getShell().setLocation(10, 10); // no effect whatsoever
}

1 个答案:

答案 0 :(得分:1)

对话框mod = MultinomialNB().fit(x, y) selector = SelectFromModel(mod, prefit=True) x = selector.transform(x) 方法显示对话框并等待其关闭。因此,在致电open后设置位置为时已晚。

而是调用open对话框方法,然后设置位置,最后调用create

open

另一种方法是覆盖

dialog.create();

... set location

dialog.open();
对话框中的

方法并返回所需的位置。

相关问题