public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); Text text = new Text(shell, SWT.BORDER | SWT.V_SCROLL); text.setBounds(10, 10, 100, 100); for (int i = 0; i < 16; i++) { text.append("Line " + i + "\n"); } shell.open(); text.setSelection(30, 38); System.out.println(text.getCaretLocation()); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }