Question

Il s'agit d'un bouton de fonction d'annulation sur une calculatrice en cours d'écriture. annuler est le bouton Status est une classe qui détient mon statut. listOfStates est une ArrayList of Status. displayBox est un objet de JTextFeild. Ce que je ne comprends pas, c’est que lorsque j’affiche previousState dans la zone de texte, j’obtiens un résultat du type: Status @ 11dc088. Je sais qu'il me manque de lancer quelque chose ici. Merci pour toute aide.

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

                 displayBox.setText(" ");
                 displayBox.setText(displayBox.getText()  + previousState);
                 System.out.println(previousState);
                }
Était-ce utile?

La solution

Status est une classe personnalisée et vous n'avez pas implémenté de méthode toString (). Vous obtenez donc la méthode Object default toString ().

Remplacez la méthode toString () dans la classe Status pour renvoyer une chaîne significative.

Ou utilisez une méthode de votre classe telle que previousState.getStatus () pour utiliser la propriété appropriée de votre classe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top