ここでの別の議論によると、私は次のようなモーダルビューを開こうとします。
public void widgetSelected(SelectionEvent e) {
final Shell dialogShell = new Shell(ApplicationRunner.getApp()
.getShell().getDisplay(), SWT.PRIMARY_MODAL | SWT.SHEET);
dialogShell.setLayout(new FillLayout());
Button closeButton = new Button(dialogShell, SWT.PUSH);
closeButton.setText("Close");
closeButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
dialogShell.dispose();
}
@Override
public void widgetDefaultSelected(SelectionEvent arg0) {
// TODO Auto-generated method stub
}
});
dialogShell.setDefaultButton(closeButton);
dialogShell.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
System.out.println("Modal dialog closed");
}
});
dialogShell.pack();
dialogShell.open();
}
目的のウィンドウが開きますが、モーダルではありません。メインシェルにアクセスして、同じモーダルダイアログの別のインスタンスを開くことができます。誰かが私を正しい方向に向けることができますか?
サンクス、マーカス