2014-07-14 30 views
6

So che questo suona come una domanda molto semplice, e mi sento in imbarazzo a chiedere, ma ...Dove si trova l'evento MouseClick su un pulsante SWT?

Come posso aggiungere un Click gestore del mouse a un tasto SWT?

Cosa ho controllato:

  • posso trovare tonnellate di esempi su come aggiungere mouse, mouse verso l'alto o doppio click gestori (assegnando un MouseListener). Ovviamente, il clic del mouse (sequenza verso il basso e verso l'alto sullo stesso controllo) è qualcosa di diverso dal mouse.
  • Capisco che ci potrebbe non essere un gestore di click sul generici controlli, ma l'unico evento che vedo aggiunto sul Button control è un SelectionListener - che potrebbe sia, ma la selezione suona più come "focus ricevuto" per me di "è stato cliccato o selezionato e poi richiamato con una pressione di un tasto".
  • Ho trovato un related question, la cui risposta in pratica dice che è necessario implementarlo da soli - Trovo che sia un po 'difficile da credere.

È selezione ciò che è comunemente noto come "OnClick" in altre lingue/quadri? O c'è qualcos'altro che ho completamente perso?

+1

Sì, 'SWT.Selection' o' SelectionListener' è quello che stai cercando. Potrebbe essere chiamato selezione, perché un "pulsante" può essere una casella di controllo o un pulsante di radion a seconda del suo stile. – Baz

+1

@Baz: Grande, grazie. Rendilo una risposta e io lo accetterò - speriamo che aiuti gli altri in futuro. – Heinzi

risposta

4

Sì, SWT.Selection o SelectionListener è quello che stai cercando:

Button button = new Button(shell, SWT.PUSH); 
button.addListener(SWT.Selection, new Listener() 
{ 
    @Override 
    public void handleEvent(Event event) 
    { 
     System.out.println("SWT.Selection"); 
    } 
}); 

l'aggiunta di un SelectionListener fa internamente lo stesso come il codice sopra.

Potrebbe essere chiamato selezione, perché uno Button può essere una casella di controllo o un pulsante di radion a seconda del suo stile.