Hallo zusammen,
ich habe folgendes Problem... In meinem Hauptfenster habe ich einen Button, sein SelectionListener führt zum Öffnen eines Dialogfensters. Wenn ich aber mehrere Mals den Button betätige, habe ich dann mehrere Dialogfenster. Ich suche nach der Lösung, wie man auf Existenz eines Dialogfensters prüfen kann. So kann ich verhindern, dass mehrere Dialogfenster geöffnet werden.
Dialog:
Aufruf:
Vielen Dank im Voraus für eure Hilfe
ich habe folgendes Problem... In meinem Hauptfenster habe ich einen Button, sein SelectionListener führt zum Öffnen eines Dialogfensters. Wenn ich aber mehrere Mals den Button betätige, habe ich dann mehrere Dialogfenster. Ich suche nach der Lösung, wie man auf Existenz eines Dialogfensters prüfen kann. So kann ich verhindern, dass mehrere Dialogfenster geöffnet werden.
Dialog:
Code:
package main_gui.gui;
import org.eclipse.swt.widgets.Dialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class TestDialog extends Dialog {
protected Object result;
protected Shell shell;
/**
* Create the dialog.
* @param parent
* @param style
*/
public TestDialog(Shell parent, int style) {
super(parent, style);
setText("SWT Dialog");
}
/**
* Open the dialog.
* @return the result
*/
public Object open() {
createContents();
shell.open();
shell.layout();
Display display = getParent().getDisplay();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return result;
}
/**
* Create contents of the dialog.
*/
private void createContents() {
shell = new Shell(getParent(), getStyle());
shell.setSize(450, 300);
shell.setText(getText());
}
}
Aufruf:
Code:
@Override
public void widgetSelected(SelectionEvent e) {
TestDialog gui = new TestDialog(shell, SWT.ARROW_UP);
Object result = gui.open();
}
Vielen Dank im Voraus für eure Hilfe