This widget is an extension of a password text field. It behaves like a password widget, but it allows the user to reveal the password.
2 behaviours are possible :
- If the flag SWT.PUSH is set, the eye button is a push button: when the button is pushed, the password is revealed
- If the flag SWT.PUSH is not set, when one clicks on the "eye" button besides the field:
The password is revealed until the user stops clicking:
You use this widget like a Text widget but you do not have to set the SWT.PASSWORD style :
final PasswordRevealer revealer = new PasswordRevealer(shell, SWT.NONE); revealer.setBackground(white);
All methods of the Text widget can be used :
String password = revealer.getText(); revealer.addListener(SWT.Modify, e-> System.out.println("Modified")); revealer.setForeground(foregroundColor); ...
You can change the "eye" icon if you wish:
For that you need to call the methods setImage() and setClickImage()
An example called PasswordRevealerSnippet.java is located in the plugin org.eclipse.nebula.widgets.passwordrevealer.snippets.
This example is also available here : PasswordRevealerSnippet.java