문제

이것은 내가 작성하는 계산기의 실행 취소 기능 버튼입니다. UNDO는 버튼 상태가 내 상태를 유지하는 클래스입니다. ListOfStates는 상태의 배열 목록입니다. DisplayBox는 jtextFeild의 객체입니다. 내가 스탠드 아래에 있지 않은 것은 텍스트 상자에 Previousestate를 표시 할 때 다음과 같은 것을 얻는다는 것입니다. 나는 여기에 무언가 캐스팅을 놓치고 있다는 것을 안다. 도움을 주셔서 감사합니다.

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

                 displayBox.setText(" ");
                 displayBox.setText(displayBox.getText()  + previousState);
                 System.out.println(previousState);
                }
도움이 되었습니까?

해결책

상태는 사용자 정의 클래스이며 toString () 메소드를 구현하지 않았으므로 객체 기본 toString () 메소드를 얻습니다.

상태 클래스에서 toString () 메소드를 무시하여 의미 가득한 문자열을 반환하십시오.

또는 ExerationState.getStatus ()와 같은 클래스의 메소드를 사용하여 클래스에서 적절한 속성을 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top