2015-01-18 5 views
0

Я создаю игру Trivia, в которой есть вопрос и 4 возможных ответа опущены. У меня возникли проблемы с настройкой каждой кнопки таким образом, что при правильном ответе - пользователь добавляется с 3 очками, иначе - он получает -1 балл. моей главной проблемой является получение текста на кнопке, поэтому я могу сравнить его с сохраненными данными правильного ответа.GUI for the Trivia game in java

соответствующий код:

// create the answer buttons 
for (int i = 0; i < 4; i++) { 
    Button answerButton = new Button(questionPanel, SWT.PUSH | SWT.WRAP); 
    answerButton.setText(answers.get(i)); 
    GridData answerLayoutData = GUIUtils.createFillGridData(1); 
    answerLayoutData.verticalAlignment = SWT.FILL; 
    answerButton.setLayoutData(answerLayoutData); 
    answerButton.addSelectionListener(new SelectionListener() { 
     @Override 
     public void widgetDefaultSelected(SelectionEvent event) {} 

     @Override 
     public void widgetSelected(SelectionEvent event) { 
      if (.........#missing.........equals("correctAnswer") 
     } 
    }); 
} 
+2

Сделайте 'Button'' final', а затем используйте 'answerButton.getText()' в слушателе. – Baz

ответ

0

Создание ваших кнопок анонимны. Вы не можете получить доступ к ним позже. Поэтому вам нужно создать ArrayList и поместить в него свои кнопки.

+0

Он строго сказал, что мы должны использовать слушателей для этого действия. – Rotemk55

+0

Хорошо, я вижу. Чтобы получить текст с вашей кнопки, просто используйте answerButton.getText(). –