codestory

Die Anleitung zu Java SWT Password Field

  1. SWT PasswordField
  2. Das Beispiel mit PasswordField 

1. SWT PasswordField

Die Password field ist eine Benutzer Schnittstelle Komponent, mit der der Benutzer die Passwort eingeben kann. Die Inhalt von dem Passwort kann durch die Applikation gelesen werden. Password Field zeigt die Zeichen nicht an, die der Benutzer eingibt. Sondern wird die Sternchen, die jedem eingegebenen Zeichen entspricht, angezeigt
Um einen Passwort field zu bauen, bauen Sie ihn aus der Class Text mit der Stil von SWT.PASSWORD. Beachten Sie, der Passwort Field genehmigt nur in einer Zeile eingeben. Der Benutzer kann in vielen Zeile nicht eingeben
// Create a Password field.
Text passwordField = new Text(shell, SWT.SINGLE | SWT.BORDER | SWT.PASSWORD);


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

2. Das Beispiel mit 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();
   }

}