Почему этот JText panl дает мне адрес памяти? - PullRequest
0 голосов
/ 26 ноября 2009

Это кнопка отмены функции на калькуляторе, который я пишу. отменить это кнопка Статус это класс, который содержит мой статус. listOfStates - это ArrayList of Status. displayBox является объектом JTextFeild. Что я не понимаю, так это то, что когда я отображаю в текстовом поле предыдущее состояние, я получаю что-то вроде: Status @ 11dc088. Я знаю, что скучаю по тому, чтобы что-то здесь кастовать. Спасибо за любую помощь.

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

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

1 Ответ

3 голосов
/ 26 ноября 2009

Status - это пользовательский класс, и вы не реализовали метод toString (), поэтому вы получаете метод Object toString () по умолчанию.

Переопределите метод toString () в классе Status для возврата значащей строки.

Или используйте метод из вашего класса, такой как previousState.getStatus (), чтобы использовать соответствующее свойство из вашего класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...