* Other modifications are possible. The Text field may be designated * read-only to prevent editing and erasing of the field when the tab key is * used to move through the widgets. Logic can also be used to do a selectAll() * when you first click on the field and then place the I-beam cursor if the * mouse is clicked again. * * @author Michael Schmidt * */ public class TextFieldExample4Revised { Display d; Shell s; TextFieldExample4Revised() { d = new Display(); s = new Shell(d); s.setSize(250, 250); s.setText("A Text Field Example"); Text text1 = new Text(s, SWT.WRAP | SWT.BORDER); text1.setBounds(100, 50, 100, 20); text1.setTextLimit(5); text1.setText("12345"); Text text2 = new Text(s, SWT.SINGLE | SWT.BORDER); text2.setBounds(100, 75, 100, 20); text2.setTextLimit(30); text2.setText("ABC"); // add a focus listener FocusListener focusListener = new FocusListener() { public void focusGained(FocusEvent e) { Text t = (Text) e.widget; t.selectAll(); } public void focusLost(FocusEvent e) { Text t = (Text) e.widget; if (t.getSelectionCount() > 0) { t.clearSelection(); } } }; text1.addFocusListener(focusListener); text2.addFocusListener(focusListener); // Added code - comment out to test without the mouseListener text2.addMouseListener(new MouseAdapter() { public void mouseDown(final MouseEvent e) { Text t = (Text) e.widget; t.selectAll(); } }); // End of added code s.open(); while (!s.isDisposed()) { if (!d.readAndDispatch()) d.sleep(); } d.dispose(); } public static void main(String[] arg) { new TextFieldExample4Revised(); } } //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// import org.eclipse.swt.SWT; import org.eclipse.swt.events.FocusEvent; import org.eclipse.swt.events.FocusListener; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class TextFieldExample4 { Display d; Shell s; TextFieldExample4() { d = new Display(); s = new Shell(d); s.setSize(250, 250); s.setText("A Text Field Example"); Text text1 = new Text(s, SWT.WRAP | SWT.BORDER); text1.setBounds(100, 50, 100, 20); text1.setTextLimit(5); text1.setText("12345"); Text text2 = new Text(s, SWT.SINGLE | SWT.BORDER); text2.setBounds(100, 75, 100, 20); text2.setTextLimit(30); // add a focus listener FocusListener focusListener = new FocusListener() { public void focusGained(FocusEvent e) { Text t = (Text) e.widget; t.selectAll(); } public void focusLost(FocusEvent e) { Text t = (Text) e.widget; if (t.getSelectionCount() > 0) { t.clearSelection(); } } }; text1.addFocusListener(focusListener); text2.addFocusListener(focusListener); s.open(); while (!s.isDisposed()) { if (!d.readAndDispatch()) d.sleep(); } d.dispose(); } public static void main(String[] arg) { new TextFieldExample4(); } }