Pregunta

Este es un botón de función de deshacer en una calculadora que estoy escribiendo. Deshacer es el botón Estado es una clase que mantiene mi estado. listOfStates es una lista de estado de Array. displayBox es un objeto de JTextFeild. Lo que no entiendo es que cuando muestro Estado anterior en el cuadro de texto obtengo algo como: Estado @ 11dc088. Sé que me estoy perdiendo echando algo aquí. Gracias por cualquier ayuda.

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

                 displayBox.setText(" ");
                 displayBox.setText(displayBox.getText()  + previousState);
                 System.out.println(previousState);
                }
¿Fue útil?

Solución

El estado es una clase personalizada y no implementaste un método toString (), por lo que obtienes el método Object toString () predeterminado.

Anula el método toString () en la clase de estado para devolver una cadena significativa.

O, usa un método de tu clase como previousState.getStatus () para usar la propiedad apropiada de tu clase.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top