2014-04-07 406 views
0

我试图在按下按钮时添加分数,分数显示在JTextField中,但是当按下按钮时添加了分数inst,它表示为0. 我有一个整数字段,用于存储得分Score ++ does not work

private int score=0; 

yesButton = new JButton("True"); 
panel.add(yesButton); 
yesButton.addActionListener(new ActionListener() { 
    int index = 0; 
    @Override 
    public void actionPerformed(ActionEvent e) { 
     index++; 
     score++; 
     qScore.setText("",+score); 
     qText.setText(questions.get(index).getQuestions()); 
    } 
}); 

得分

JPanel scorePanel = new JPanel(); 
     scorePanel.setLayout(new GridLayout(1,0)); 
     JLabel label = new JLabel("Score:"); 
     JTextField qScore = new JTextField(); 
     qScore.setEditable(false); 

任何想法,我究竟做错了什么?

+1

如何发布整个班级? – JamesB

+0

你是否在按下yes按钮时调试了代码? – JamesB

+0

您是否调试过actionPerformed方法? – JamesB

回答

3

在你actionPerformed方法,你不更新与新成绩的看法。我想它会是这样的:

score.setText("Score:" + score); 
+0

我试过..不工作..我陶锡源编辑我贴我的成绩 – user3507763

+0

不知道为什么,这个答案正在接收标志尚未 – JamesB

+0

你好,我更新了我的代码代码..但我得到的错误不能应用于给定的类型 – user3507763

0

您的变量qScore应该是一个实例成员并构造一次。

然后当actionPerformed方法被触发,调用的setText

// in actionPerformed 
score++; 
qScore.setText(score); 
+0

您好!,感谢您的回复,但是当我尝试使用 – user3507763

+0

时,我得到的操作无法应用于此给定类型什么是完整的错误消息? – JamesB

+0

方法javax.swing.text.JTextComponenet中的setText不能用于给出类型...原因实际和形式参数列表的长度不同 – user3507763