Allow backspace and delete : StyledText Event « SWT « Java Tutorial






Allow backspace and delete
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.custom.VerifyKeyListener;
import org.eclipse.swt.events.VerifyEvent;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class StyledTextVerifyListenerBackspaceDelete {
  public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);

    StyledText styledText = new StyledText(shell, SWT.V_SCROLL | SWT.BORDER);
    styledText.setText("12345");

    styledText.addVerifyKeyListener(new VerifyKeyListener() {

      public void verifyKey(VerifyEvent event) {
        System.out.println(event.character);
        event.doit = false;
        // Allow backspace and delete
        if (event.character == '\u0008' || event.character == '\u007F') {
          event.doit = true;
        }
      }
    });

    styledText.setBounds(10, 10, 100, 100);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();

  }
}








17.45.StyledText Event
17.45.1.Handling Events
17.45.2.Filtering Change with VerifyKeyListenersFiltering Change with VerifyKeyListeners
17.45.3.Allow backspace and deleteAllow backspace and delete
17.45.4.Allow Arrow Key
17.45.5.Allow return
17.45.6.After all VerifyKeyListeners are notified, any VerifyListeners are then notified.
17.45.7.Print out VerifyEvent detail
17.45.8.Against cut-and-paste: Modify the data in VerifyEvent to change the effect of user's keystrokes
17.45.9.Veto the event by setting its doit member to false.
17.45.10.Reacting to Change
17.45.11.Add Paint event listener to StyledTextAdd Paint event listener to StyledText
17.45.12.Use a verify listener in StyledTextUse a verify listener in StyledText
17.45.13.Add Paint Object ListenerAdd Paint Object Listener
17.45.14.Dragging text in a StyledText widgetDragging text in a StyledText widget
17.45.15.Use ExtendedModifyEvent