swing jtable 줄 삭제, 여러 줄 삭제, 정렬 후 줄 삭제
질문
jtable 정렬 후 줄을 삭제하면 색인에 맞지 않는 문제가 발생합니다
//목록을 설정하면 jTable1을 정렬할 수 있습니다.setAutoCreateRowSorter(true);
해결책
키 코드:
//Model 인덱스로 변환하려면 이 구절이 중요합니다. 그렇지 않으면 인덱스가 대응하지 않습니다.
rowIndexes[i] = jTable1.convertRowIndexToModel(rowIndexes[i]);
//정렬, 이 구절은 매우 중요하다. 그렇지 않으면 순서가 어지러운 Arrays이다.sort(rowIndexes);
private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
int[] rowIndexes = jTable1.getSelectedRows();
if(rowIndexes.length == 0){
JOptionPane.showMessageDialog(null, " !");
return;
}
int r = JOptionPane.showConfirmDialog(null,
" ?", " ",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (r != JOptionPane.YES_OPTION) {
return;
}
for (int i = 0; i < rowIndexes.length; i++)
{
// Model , ,
rowIndexes[i] = jTable1.convertRowIndexToModel(rowIndexes[i]);
}
// , ,
Arrays.sort(rowIndexes);
DefaultTableModel tableModel = (DefaultTableModel) jTable1.getModel();
//
for(int i=rowIndexes.length-1; i>=0; i--){
tableModel.removeRow(rowIndexes[i]);
// Model ,
//MainFrame.resultList.remove(rowIndexes[i]);
}
}
인터넷에서 많은 사람들이 쓴 삭제 방법은 모두 표 정렬과 관련이 없고 표 정렬과 관련된 변환 인덱스를 사용한 후에도 정렬하지 않는다.
진심으로 jtable의 조작이 너무 번거로워서 winform보다 훨씬 못해요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Cognos 목록을 프롬프트에서 선택한 항목으로 오름차순 및 내림차순으로 정렬Cognos BI & Analytics에서 리스트의 정렬을 항목 지정 및 정렬 순서 지정으로 하고 싶을 때의 방법입니다. 정렬 항목 프롬프트에서 수량을 선택하고 정렬 순서 프롬프트에서 내림차순을 선택한 예입니다. 정...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.