2012-04-12 4 views
1

이제 jtable 헤더를 그룹화하려고 했으므로 현재 Jtable의 DefaultTableModel을 가져 오려고합니다. 내가 ...이 같은 예외를 보여줍니다

DefaultTableModel dm=(DefaultTableModel) tblTet.getModel(); 

... 같은 테이블 모델 검색을 시도 할 때

org.jdesktop.swingbinding.JTableBinding $ BindingTableModel

은 모두 javax에 캐스트 할 수 없습니다. swingTable.DefaultTableModel

JTableBeansBinding을 사용하고 있기 때문에.

이 문제를 해결할 수있는 사람 (DefaultTableModel 검색 용)이면 누구나 할 수 있으면 좋을 것입니다. 그리고 아직도 나는 노력하고있다.

미리 감사드립니다.

답변

3

JavaDoc for BindingTableModel에 따르면 클래스는 DefaultTableModel을 확장하지 않습니다. 오히려 TableModel 인터페이스를 구현합니다.

TableModel dm=(TableModel) tblTet.getModel(); 
-2

을이 같은 테이블을 만들어야합니다 :

String[] columnNames = {"Row", 
      "Category", 
      "From Date", 
      "From Time", 
      "To Date", 
      "To Time", 
      "Description", 
      "Doc"}; 
    Object[][] data = {};//Table Rows 

    table.setModel(new DefaultTableModel(data,columnNames)); 

대신 :

table=new JTable(data,columnNames); 

다음 캐스트 할 수 이것은 당신의 DefaultTableModel으로 만 TableModel에 캐스팅 할 수 없음을 의미합니다 테이블 모델을 defaultTableModel로 설정하십시오.

+0

정상적으로 예. 그러나 OP는 (더 나은) BeansBinding을 사용하고 있으며 내부적으로 할당 된 TableModel의 유형에 대한 제어권이 없습니다. – kleopatra

관련 문제