2013-01-18 15 views
5

Al lavoro, al momento, ma ha riscontrato un piccolo problema con JFace. Ho la maggior parte di ciò che mi serve per avere una casella di controllo che consente al pulsante successivo di diventare attivo.Seleziona la casella di controllo dall'interno dell'ascoltatore

Ecco il codice

Button btnConfirm = new Button(container, SWT.CHECK); 

    btnConfirm.addSelectionListener(new SelectionAdapter() { 
    @Override 

    public void widgetSelected(SelectionEvent e) { 

      //missing if statement   
      setPageComplete(true); 
     } 
    }); 

    btnConfirm.setBounds(330, 225, 75, 20); 
    btnConfirm.setText("Confirm"); 

Grazie in anticipo per qualsiasi aiuto

Edit Quello che sto cercando di fare è quello di costruire un menu dove alcuni è necessario accettare i termini e le condizioni prima di può progredire oltre un punto L'impostazione predefinita è vuota, ma quando la casella è selezionata verrà visualizzato il pulsante successivo, se non lo è, il pulsante successivo rimarrà inattivo.

+1

La tua domanda non è completa. Cosa stai cercando di fare e cosa non funziona esattamente? – Baz

risposta

10

Basta fare il Buttonfinal e accedervi dall'interno della Listener:

final Button btnConfirm = new Button(shell, SWT.CHECK); 

btnConfirm.addSelectionListener(new SelectionAdapter() 
{ 
    @Override 
    public void widgetSelected(SelectionEvent e) 
    { 
     if (btnConfirm.getSelection()) 
      setPageComplete(true); 
     else 
      setPageComplete(false); 
    } 
}); 

In alternativa, ottenere il Button dal SelectionEvent:

Button btnConfirm = new Button(shell, SWT.CHECK); 

btnConfirm.addSelectionListener(new SelectionAdapter() 
{ 
    @Override 
    public void widgetSelected(SelectionEvent e) 
    { 
     Button button = (Button) e.widget; 
     if (button.getSelection()) 
      setPageComplete(true); 
     else 
      setPageComplete(false); 
    } 
}); 
+0

Grazie per l'aiuto ragazzi –

+0

@KeithSpriggs Contento di aver potuto aiutare. – Baz

+1

... o semplicemente 'setPageComplete (button.getSelection());'. –

Problemi correlati