devstory

Le Tutoriel de Java SWT Password Field

  1. SWT PasswordField
  2. Exemple avec PasswordField

1. SWT PasswordField

Le champ du mot de passe (Password Field) est un contrôle đ'utilisateur permettant aux utilisateurs de saisir leur mot de passe, dont le contenu peut être lu par l'application. Password Field n'indique pas les caractères que les utilisateurs saisissent, au lieu de cela, il affiche un cercle correspondant à chaque caractère tapé.
Afin de créer un champ du mot de passe (password field), vous devriez le créer de la classe Text avec le style SWT.PASSWORD. Notez que le champ du mot de passe est saisi en une seule ligne et non dans plusieurs lignes..
// Create a Password field.
Text passwordField = new Text(shell, SWT.SINGLE | SWT.BORDER | SWT.PASSWORD);


// Set echo char.
passwordField.passwordField.setEchoChar('*');

2. Exemple avec PasswordField

PasswordFieldDemo.java
package org.o7planning.swt.passwordfield;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class PasswordFieldDemo {

   public static void main(String[] args) {

       Display display = new Display();
       Shell shell = new Shell(display);

       // Layout
       RowLayout rowLayout = new RowLayout();
       rowLayout.spacing = 10;
       rowLayout.marginLeft = 10;
       rowLayout.marginTop = 10;
       shell.setLayout(rowLayout);

       Text passwordField = new Text(shell, SWT.SINGLE | SWT.BORDER  | SWT.PASSWORD);
       passwordField.setEchoChar('*');

       Button button = new Button(shell, SWT.PUSH);
       button.setText("Show Password");

       Label labelInfo = new Label(shell, SWT.NONE);
       labelInfo.setText("?");

       button.addSelectionListener(new SelectionAdapter() {

           @Override
           public void widgetSelected(SelectionEvent e) {
               labelInfo.setText(passwordField.getText());
               labelInfo.pack();
           }
       });

       shell.setText("SWT Password Field (o7planning.org)");
       shell.setSize(400, 200);
       shell.open();
       while (!shell.isDisposed()) {
           if (!display.readAndDispatch())
               display.sleep();
       }
       display.dispose();
   }

}