2013-01-18 15 views
5

Pracuję w tej chwili, ale mam mały problem z JFace. Mam większość tego, czego potrzebuję, to pole wyboru, które pozwala na aktywację następnego przycisku.Sprawdź zaznaczenie pola wyboru z poziomu Listener

Oto kod

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"); 

Z góry dziękuję za wszelką pomoc

Edit Co staram się zrobić, to zbudować menu, w którym część musi zaakceptować warunki przed ich może rozwijać się poza punkt Domyślnie jest puste, ale gdy pole jest zaznaczone, pojawi się następny przycisk, a jeśli nie, następny przycisk pozostanie nieaktywny.

+1

Twoje pytanie nie jest kompletna. Co próbujesz zrobić i co dokładnie nie działa? – Baz

Odpowiedz

10

Wystarczy dokonać Buttonfinal i uzyskać do niego dostęp z poziomu 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); 
    } 
}); 

Alternatywnie uzyskać Button z 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

Dzięki za pomoc faceci –

+0

@KeithSpriggs Cieszę się, że mogę pomóc. – Baz

+1

... lub po prostu 'setPageComplete (button.getSelection());'. –

Powiązane problemy