2013-02-17 3 views
3

나는 그것을 얻지 않는다; 나는 DefaultTableModel를 사용하고, 내 시도는이 같은 tabel의 값을 얻을이었던 int :정수로 JTable에서 값을 가져 오는 중?

Integer.parseInt(tableModel.getValueAt(i, 1)); 

일식 수 있도록 이클립스, Object에서 String에 필요한 캐스트가 말하는 것을 :

Integer.parseInt((String) tableModel.getValueAt(i, 1)); 

"int to string"을 캐스팅 할 수 없기 때문에 런타임에 프로그램이 충돌합니다. 왜? 나는 "object -> string -> int"를 예상했다.

+1

'.toString()' –

+1

왜 정수를 String으로 변환 한 다음 다시 Integer로 변환하겠습니까? – tobiasbayer

+0

질문을 편집하여 'DefaultTableModel'에 데이터를 추가하는 방법과 발생하는 모든 오류의 전체 스택 추적을 보여주는 [sscce] (http://sscce.org/)를 포함하십시오. 그렇지 않은 경우 응답자는 추측 할 수만 있습니다. – trashgod

답변

4

사용하려고합니다.

+0

어리 석다 ... 나는 C/C++에서 너무 많이 생각했다. 물론 캐스트가 작동하지 않았다. – Anonymous

2

tableModel.getValueAt(i, 1)의 값은 이미 Integer입니다. 기본 형식을 사용하려면 Integer value = (Integer) tableModel.getValueAt(i, 1); (int) 적절하게 변환하십시오. 개체의

Integer.parseInt(tableModel.getValueAt(i, 1).toString()); 

그냥 설정 문자열 표현을 toString()를 사용하여 :

+0

아니요,'tableModel.getValueAt (i, 1)'는 [javadoc] (http://docs.oracle.com/javase/6/docs/api/javax/swing/table/DefaultTableModel)에 따라 기본적으로 객체를 반환합니다. html). – hd1

+2

OPs 경우에는 정수입니다. 그렇지 않으면 그는 그가 묘사 한 ClassCastException을 얻지 못할 것입니다. – tobiasbayer

관련 문제