Ctrl + A ничего не делает на моей рабочей станции WinXP, используя следующий фрагмент.Таким образом, «поведение по умолчанию» отсутствует:
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
public class Snippet22 {
public static void main( String[] args ) {
Display display = new Display();
Shell shell = new Shell(display);
Text text = new Text(shell, 0);
text.setText("ASDF");
text.setSize(64, 32);
shell.pack();
shell.open();
while ( !shell.isDisposed() ) {
if ( !display.readAndDispatch() ) display.sleep();
}
display.dispose();
}
}
Если вы хотите, чтобы Ctrl + A работал должным образом, добавьте такой слушатель:
Listener ctrlAListener = new Listener() {
public void handleEvent( Event event ) {
if ( event.stateMask == SWT.CTRL && event.keyCode == 'a' ) {
((Text)event.widget).selectAll();
}
}
};
и добавьте его к каждому используемому экземпляру Text
:
text.addListener(SWT.KeyUp, ctrlAListener);