0
테이블 모델은 다음과 같습니다. 내 테이블의 첫 번째 coloumn 확인란입니다. 체크 박스를 jtable에 넣을 수는 있지만 체크 박스를 클릭하면 아무것도하지 않습니다. 내 테이블에 체크 박스를 넣으려면 DefaultTableCellRenderer
을 사용했습니다.jtable의 jcheckbox가 그것을 클릭 할 때 아무런 도움이되지 않습니다. 도움이 필요하십니까
public class MyTableModel implements TableModel {
ArrayList<PersonDTO> list=new ArrayList<PersonDTO>();
String headerName[]={"checkbox","student_id","name"};
public MyTableModel(ArrayList<PersonDTO> list) {
this.list=list;
}
@Override
public int getRowCount() {
//throw new UnsupportedOperationException("Not supported yet.");
System.out.println(list.size());
return list.size();
}
@Override
public int getColumnCount() {
//throw new UnsupportedOperationException("Not supported yet.");
// System.out.println(headerName.length);
return headerName.length;
}
@Override
public String getColumnName(int columnIndex) {
//throw new UnsupportedOperationException("Not supported yet.");
// System.out.println(headerName);
return headerName[columnIndex];
}
@Override
public Class<?> getColumnClass(int columnIndex) {
//throw new UnsupportedOperationException("Not supported yet.");
switch(columnIndex)
{
case 0:
return JCheckBox.class;
//return JCheckBox.class;
case 1:
return Integer.class;
case 2:
return String.class;
}
return null;
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
// throw new UnsupportedOperationException("Not supported yet.");
return true;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
//throw new UnsupportedOperationException("Not supported yet.");
PersonDTO personDTO=list.get(rowIndex);
switch(columnIndex)
{
case 0:
//System.out.println(personDTO.isCheckbox());
return personDTO.getCheckBox();
//return new JCheckBox();
case 1:
//System.out.println(personDTO.getName());
return personDTO.getUserId();
case 2:
return personDTO.getName();
}
return null;
}
@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
//throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void addTableModelListener(TableModelListener l) {
// throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void removeTableModelListener(TableModelListener l) {
//throw new UnsupportedOperationException("Not supported yet.");
}
}
그냥이 링크를 확인 .. [1] : http://stackoverflow.com/questions/11328451/setting-jcheckbox-invisible-in-jtable 당신은 당신의 JTable의 열 속성을 확인 –
, 그 열이 편집 가능하지 않습니까 ?? ... 필드가 편집 가능하지 않으면 편집 가능으로 변경 될 수 있습니다. 그런 다음 문제를 해결할 수 있습니다. –