Java by API/org.eclipse.swt.events/FocusEvent
FocusEvent: widget
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class MainClass {
public static void main(String[] a) {
Display d = new Display();
Shell s = new Shell(d);
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);
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();
}
}