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();
}
}