Sonntag, 18. Dezember 2011

Eclipse RCP - MessageBox

Wie erhalte ich eine MessageBox und wie setze ich die MessageBox ein?

Ein sehr gutes MessageBox Beispiel findet ihr bei www.java2s.com Die entscheidende Stelle hier nochmal kurz als Codesnippet:

MessageBox messageBox = 
  new MessageBox(shell, 
            SWT.ICON_WARNING | SWT.ABORT | SWT.RETRY | SWT.IGNORE);
        
messageBox.setText("Warning");
messageBox.setMessage("Save the changes before exiting?");
int buttonID = messageBox.open();

Quelle: http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/MessageBoxExample.htm

Der zweite Parameter der MessageBox steuert die Anzahl und Art der Buttons die in der MessageBox angezeigt werden. Weiterhin kann mit dem zweiten Paremeter der Typ der MessageBox (hier Warnung) bestimmt werden.

Die MessageBox wird modal aufgerufen. Die Methode open() öffnet die MessageBox. Am Rückgabewert kann identifiziert werden, welcher Button vom Benutzer gedrückt wurde.

Die buttonId kann mit dafür vorgesehenen Konstanten der Klasse SWT verglichen werden, z.B. if ( buttonID == SWT.CANCEL ) { ...

Die aufgeführte Liste zeigt einige Konstanten für die Buttons:

  • SWT.ABORT
  • SWT.CANCEL
  • SWT.IGNORE
  • SWT.NO
  • SWT.OK
  • SWT.RETRY
  • SWT.YES