在文本区

时间:2017-06-11 12:33:57

标签: java swing

我正在制作一个显示简化问题的游戏,用户必须根据BODMAS规则使用Java中的swing来解决问题。 GUI看起来像enter image description here

按下“新建”按钮后,新问题将显示在文本区域,按钮标签将更改为“下一步” enter image description here

但如果按下“下一步”按钮,则不会显示下一个问题。 operator.txt包含简化问题列表。 代码如下

 public void actionPerformed(ActionEvent buttonEvent) {
        // TODO Auto-generated method stub
        if(buttonEvent.getActionCommand().equals("Enter")){
            Double computedVal = EvaluateString(textArea.getText());
            System.out.println(computedVal);
            checkAnswer(computedVal, textField.getText());
        }
        if(buttonEvent.getActionCommand().equals("Clear")){
            ClearTextArea();
        }
        if(buttonEvent.getActionCommand().equals("New")){
            String store = buttonEvent.getActionCommand();
            NewGameOrNext(store);   
        }
    }

private void NewGameOrNext(String store) {
        // TODO Auto-generated method stub
        if(store.equals("New")){
            buttonNew.setText("Next");
        }
        String line = null;
        try{
            BufferedReader reader = new BufferedReader(new FileReader("C:\\Users\\username\\Documents\\operator.txt"));
            while((line = reader.readLine()) != null){
                textArea.setText(line);
            }
            reader.close();
        }
        catch(IOException exception){
            exception.printStackTrace();
        }
    }

请帮助我!

1 个答案:

答案 0 :(得分:2)

首先,方法名称不应以大写字母开头。您是否曾见过Java API中的方法以大写字符开头?有些方法名称是正确的,有些则不是。保持一致!!!

  

但如果' Next'按下按钮它不显示下一个问题。

if(buttonEvent.getActionCommand().equals("New")){

如果您从" New"重置文本,则上述条件永远不会成立。到"下一个"。

似乎你需要另一个if条件来测试" Next"。或者,更好的是,不要更改文本,只需将其保留为"下一步"。