Mega Code Archive

 
Categories / Java Tutorial / SWT
 

Add events to Text

import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.ScrollBar; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class TextEventMouseDownMoveUpKey {   public static void main(String[] args) {     Display display = new Display();     Shell shell = new Shell(display);     shell.setLayout(new FillLayout());     final Text text = new Text(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);     for (int i = 0; i < 100; i++) {       text.append(i + "\n");     }     text.setSelection(0);     Listener listener = new Listener() {       int lastIndex = text.getTopIndex();       public void handleEvent(Event e) {         int index = text.getTopIndex();         if (index != lastIndex) {           lastIndex = index;           System.out.println("Scrolled, topIndex=" + index);         }       }     };     /* NOTE: Only detects scrolling by the user */     text.addListener(SWT.MouseDown, listener);     text.addListener(SWT.MouseMove, listener);     text.addListener(SWT.MouseUp, listener);     text.addListener(SWT.KeyDown, listener);     text.addListener(SWT.KeyUp, listener);     text.addListener(SWT.Resize, listener);     shell.pack();     Point size = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT);     shell.setSize(size.x - 32, size.y / 2);     shell.open();     while (!shell.isDisposed()) {       if (!display.readAndDispatch())         display.sleep();     }     display.dispose();   } }