用于java中的琐事游戏的GUI

用于java中的琐事游戏的GUI,java,swt,Java,Swt,我正在建立一个琐事游戏,其中有一个问题和4个可能的答案显示。 我在设置每个按钮时遇到了问题,如果按下正确的答案,用户将得到3分,否则,他将得到1分。 我的主要问题是获取按钮上的文本,以便将其与正确答案的保存数据进行比较 有关守则如下: // create the answer buttons for (int i = 0; i < 4; i++) { Button answerButton = new Button(questionPanel, SWT.PUSH | SWT.WRA

我正在建立一个琐事游戏,其中有一个问题和4个可能的答案显示。 我在设置每个按钮时遇到了问题,如果按下正确的答案,用户将得到3分,否则,他将得到1分。 我的主要问题是获取按钮上的文本,以便将其与正确答案的保存数据进行比较

有关守则如下:

// 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")
        }
    });
}
//创建应答按钮
对于(int i=0;i<4;i++){
按钮应答按钮=新按钮(问题面板,SWT.PUSH | SWT.WRAP);
answerButton.setText(answers.get(i));
GridData answerLayoutData=GUIUtils.createFillGridData(1);
answerLayoutData.verticalAlignment=SWT.FILL;
answerButton.setLayoutData(answerLayoutData);
answerButton.addSelectionListener(新建SelectionListener(){
@凌驾
public void widgetDefaultSelected(SelectionEvent事件){}
@凌驾
公共无效widgetSelected(SelectionEvent事件){
如果(……#缺失………等于(“正确答案”)
}
});
}

按钮的创建是匿名的。您以后无法访问它们。因此,您必须创建一个ArrayList并将按钮放在其中。

它严格地说我们应该使用侦听器来执行该操作。好的,我明白了。要从按钮获取文本,只需使用answerButton.getText()。使
按钮成为最终按钮,然后在侦听器中使用
应答按钮.getText()