Allow Arrow Key : StyledText Event « SWT « Java Tutorial






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 StyledTextArrowKeyVerifyKeyListener {
  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 arrow keys
        if (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN
          || event.keyCode == SWT.ARROW_LEFT || event.keyCode == SWT.ARROW_RIGHT)
          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