我有一个按钮。如果单击,则会打开一个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
}
答案 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();
对话框中的方法并返回所需的位置。