2017-06-11 165 views
0

我正在製作一個遊戲,它將顯示一個簡化問題,用戶必須根據BODMAS規則使用Java中的擺動來解決問題。 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(); 
     } 
    } 

請幫我這個!

+0

嘗試打印出控制檯中的行,文件是否正確讀取? –

+0

感謝您的回覆。我試過了,線路正在打印在控制檯 – user007

回答

2

首先,方法名稱不應以大寫字符開頭。你有沒有見過從Java API開始使用大寫字母的方法?你的一些方法名稱是正確的,其他的不是。始終如一!!!

但是,如果'下一步'按鈕被按下,它不會顯示下一個問題。如果重新從「新」到「下一步」的文本

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

上述條件永遠不會爲真。

好像你需要另一個條件來測試「下一步」。或者,更好的是不要更改文本,只需將其保留爲「下一步」即可。

+0

嘿謝謝!有效。實際上有時我會對方法和類的命名感到困惑。我下次會照顧它。 – user007