2013-04-27 1 views
0

로 "JOptionPane.showInputDialog"에서 선택을 반환하는 방법을 나는 다음과 같이 here에서 다음 코드를 사용하는 기능이 있습니다자바 :에 "INT"대신에 "객체"

public static Object generationMode(){ 
    Object[] possibleMode = { "M-Sequence", "Gold Code"}; 
    Object selectedValue = JOptionPane.showInputDialog(null, 
      "Choose one", "Input", 
      JOptionPane.INFORMATION_MESSAGE, null, 
      possibleMode, possibleMode[0]);  
    return selectedValue;  
} 

I을 메인 클래스에서이 함수를 호출하면 잘 동작합니다. 그러나 "Object"대신 "int"를 주 클래스에 반환하려고합니다. 다음과 같이 반환 값을 캐스팅하려고했습니다.

그러나 작동하지 않습니다. 디버거가 중단 점에서 말하고있다 : (Suspended (예외 ClassCastException)) !!!! 정확히 어떤 실수입니까?

답변

2

int으로 전송할 수 없습니다. int이 반환되지 않습니다. Object[] possibleMode = { "M-Sequence", "Gold Code"};에서 선택되는 String을 반환합니다.

대신 String으로 캐스팅하고 방법을 String으로 되돌릴 수 있습니다.

또는, 인덱스 반환하는 방법을 필요로하는 경우 :

return Arrays.asList(possibleMode).indexOf(selectedValue);