2010-11-10 25 views

Répondre

4

Ctrl +A ne fait rien sur mon poste de travail Windows XP en utilisant l'extrait suivant. Il n'y a donc pas de "comportement par défaut":

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(); 
    } 
} 

Si vous voulez Ctrl + A à travailler comme prévu, ajouter un auditeur:

Listener ctrlAListener = new Listener() { 
    public void handleEvent(Event event) { 
     if (event.stateMask == SWT.CTRL && event.keyCode == 'a') { 
     ((Text)event.widget).selectAll(); 
     } 
    } 
}; 

et l'ajouter à chaque Text exemple vous utilisez:

text.addListener(SWT.KeyUp, ctrlAListener);