내 JTable에 대한 내 자신의 사용자 정의 TableModel을 작성하려고합니다 (JCheckBox 행을 내 테이블에 통합하려고하기 때문에). JScrollPane뿐입니다. JCheckBox 및 사용자 정의 AbstractTableModel을 통합하기 전에 JTable을 기본 (Object [] [], Object []) 생성자를 사용하면 잘 나타납니다. Sun의 JTable 자습서에서 모든 데이터를 String으로 처리하는 기본값을 사용합니다.JScrollPane에 표시 할 사용자 정의 테이블 모델이있는 JTable 가져 오기
나는 다음 내 사용자 지정 AbstractTableModel가 만든이에서 갔다 :이 사용자 정의 만든 클래스와 JTable로를 만드는 시도를 호출한다고 가정하고
JTable table = new JTable();
: 여기에
JTable table = new JTable(dataArray, col);
을 AbstractTableModel을 확장하지만 이제는 JScrollPane에 아무 것도 나타나지 않습니다.
잘못 사용하고 있습니까? Sun 자습서의 코드를 복사하고 관련된 데이터 파일의 이름 만 변경했습니다. 나는 또한 같은 클래스에이 메서드를 배치했다. 테이블을 사용자 정의 테이블 모델로 생성하는 다른 방법이 있습니까? 모든 통찰력은 인정 될 것입니다.
내가 혼란스러워하는 것 같아요. 데이터를 직접 받아이 JTable의 생성자 (SimpleTableDemo 처음 사용)가 있습니다 : 썬 웹 페이지 상태에 JTable의 정보 의 JTable, JTable의 (벡터 rowData 하행를 (객체 [] [] rowData 하행 [] COLUMNNAMES 개체) Vector columnNames) 그러면 다음과 같이 나타납니다. 이러한 생성자의 장점은 사용하기 쉽다는 것입니다. 그러나 이러한 생성자에는 단점이 있습니다. 이들은 모든 데이터 유형을 동일하게 (문자열로) 처리합니다. – MarcZero
계속 읽어보고, 나는 AbstractTableModel을 확장하는 커스텀 클래스를 생성해야하고, 어떻게 든 생성 된 테이블이 기본 생성자 대신에 그것을 사용할 것이라는 인상을 받고있다. JTable (Object [] [], Object []) 생성자를 사용하면 모든 셀을 String으로 처리하므로 생성자없이 메서드를 호출한다고 가정합니다. JTable()은 내가 만든 사용자 정의를 사용하고, 하지만 내 화면은 이제 비어 있습니다. 나는 기본 생성자로 돌아가서 괜찮아 보이지만, 커스텀 테이블 모델을 사용할 수 없다. – MarcZero
@MarcZero : 내 답변에 편집 된 내용이 표시됩니다. (이해가되지 않는다면, 코드를 더 게시 할 수도 있습니다. 나는 당신이하려고하는 것에 뭔가 빠져있을 수 있다는 느낌을 갖습니다 ...) – Ash