2009-11-26 48 views
0

這是我寫的計算器上的撤消功能按鈕。撤消是按鈕狀態是一個持有我的狀態的類。 listOfStates是狀態的ArrayList。 displayBox是JTextFeild的一個對象。我不承認的是,當我在文本框中顯示previousState時,會得到類似於:Status @ 11dc088。我知道我錯過了在這裏鑄造的東西。謝謝你的幫助。爲什麼這個JText panl給我一個記憶地址?

if(e.getSource() == undo) 
      { 
       Status previousState = (Status) listOfStates.get(listOfStates.size()- 1); 

       displayBox.setText(" "); 
       displayBox.setText(displayBox.getText() + previousState); 
       System.out.println(previousState); 
       } 

回答

3

狀態是一個自定義類,你沒有實現toString()方法,所以你得到了Object默認的toString()方法。

重寫Status類中的toString()方法以返回有意義的字符串。

或者,使用像previousState.getStatus()這樣的方法從類中使用相應的屬性。

相關問題