2009-11-26 29 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()这样的方法从类中使用相应的属性。

相关问题