【问题标题】:To display text in text area在文本区域中显示文本
【发布时间】:2017-06-11 12:33:56
【问题描述】:

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

按下“新建”按钮时,文本区域将显示新问题,按钮标签变为“下一个”

但如果按下“下一个”按钮,则不会显示下一个问题。 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();
        }
    }

请帮帮我!

【问题讨论】:

  • 尝试打印控制台中的行,文件是否被正确读取?
  • 感谢您的回复。我试过了,在控制台打印线条

标签: java swing


【解决方案1】:

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

但如果按下“下一个”按钮,则不会显示下一个问题。

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

如果您将文本从“新建”重置为“下一个”,上述条件将永远不会成立。

似乎您需要另一个 if 条件来测试“下一步”。或者,最好不要更改文本,将其保留为“下一步”。

【讨论】:

  • 嘿,谢谢!有效。实际上,有时我对方法和类的命名感到困惑。下次我会处理的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-18
  • 1970-01-01
相关资源
最近更新 更多