betacode

Руководство Java SWT Password Field

  1. SWT PasswordField
  2. Пример с PasswordField

1. SWT PasswordField

Поле пароля (Password field) является компонентом пользовательского интерфейса, который позволяет пользователю ввести пароль, его содержимое может быть прочитано приложением. Password Field не отображается символы, которые ввел пользователь, вместо этого он отображает звездочки, соответствующие каждому введенному символу.
Чтобы создать поле пароля (password field), вы создаете его из класса Text со стилем SWT.PASSWORD . Обратите внимание, что поле пароля разрешает вводить только на одной строке, не позволяет пользователям вводить на нескольких строках.
// Create a Password field.
Text passwordField = new Text(shell, SWT.SINGLE | SWT.BORDER | SWT.PASSWORD);


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

2. Пример с 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();
   }

}