2016-03-25 14 views
1

Wie kann ich eine MessageDialog erstellen, die in der Größe geändert werden kann.Erstellen eines veränderbaren MessageDialogs

Shell parentShell = Display.getCurrent().getActiveShell(); 
MessageDialog.openInformation(parentShell, "title", "message"); 

Der Informationsdialog kann nicht in der Größe geändert werden. Wie lässt sich die Größe ändern?

+0

Nicht sicher, dass ich verstehe. Der Nachrichtendialog wird in einer neuen Shell geöffnet, sodass die übergeordnete Shell nicht geändert wird. –

+0

Nach der Ausführung habe ich ein neues Fenster, aber ich kann es nicht ändern Größe – Mehdi

Antwort

3

Die MessageDialog ist nicht in der Größe veränderbar. Wenn Sie die Größe wirklich ändern möchten, überschreiben Sie die getShellStyle()-Methode, um die gewünschten Style-Flags zurückzugeben.

Zum Beispiel

MessageDialog dialog = new MessageDialog(shell, 
              "title", 
              null, 
              "message", 
              MessageDialog.INFORMATION, 
              new String[] { IDialogConstants.OK_LABEL }, 
              0) 
{ 
    protected int getShellStyle() { 
    return SWT.SHELL_TRIM; 
    } 
}; 

wird mit einem Informationssymbol und Min-/Max-/Schließen-Button in einem skalierbaren Dialog führen.

+0

Vielen Dank für Ihre Antwort, aber es gibt keine min/max/close – Mehdi

+0

Nur 'SWT.SHEET' wird im Stil Parameter akzeptiert, alle anderen Stile werden verworfen. –

+2

Danke @ greg-449 für diesen Hinweis. Ich habe die Antwort mit einem Hack aktualisiert, um einen veränderbaren Nachrichtendialog zu erhalten. Mehdi, überdenken Sie, wenn Sie wirklich einen veränderbaren Nachrichtendialog möchten. Es ist einfach nicht in der Größe veränderbar. –

Verwandte Themen