2010-10-06 14 views
6


sto voglio fare someStuff() quando CTRL-C premuto. Avevo scritto del codice, ma "non abbastanza buono". Cosa posso fare con questo?)Maneggiare tasti premuti usando SWT

//org.eclipse.draw2d.Shape getShape(){....} 

    getShape().addKeyListener(new KeyListener(){ 

     @Override 
     public void keyPressed(KeyEvent ke) { 
     } 

     @Override 
     public void keyReleased(KeyEvent ke) { 
      /*if CTRL-C pressed*/ 
      if((ke.getState() & KeyEvent.CONTROL) != 0 && 'c' == ('a' + ke.character - 1)){ 
       someStuff(); 
      } 
     } 
    }); 

Grazie.

risposta

7

Prova questa:

getShape().addListener(SWT.KeyUp, new Listener() { 
    public void handleEvent(Event event) { 
     if (event.stateMask == SWT.CTRL && event.keyCode == 'c') { 
      someStuff(); 
     } 
    }}); 
0

provare ad utilizzare la seguente condizione per verificare la presenza di CTRL-C:

public void keyReleased(KeyEvent event) { 
    if (event.getKeyCode() == KeyEvent.VK_C && event.getModifiers() == InputEvent.CTRL_MASK) 
    someStuff(); 
} 
+0

org.eclipse.draw2d.KeyEvent non contiene alcuna VK_C e così via. Mi dispiace se formulassi una domanda in una forma non ovvia. –

+0

Aah, mio ​​errore. Non so come aiutarti allora = /. – Andy

Problemi correlati