Java를 사용하여 JTable의 내용을 지우려면 어떻게해야합니까?JTable을 지우는 방법
답변
기본적으로 JTable에 사용하는 TableModel에 따라 다릅니다. 당신이 DefaultTableModel
를 사용하는 경우 다음 두 가지 방법으로 그것을 할 수 있습니다 :
DefaultTableModel dm = (DefaultTableModel)table.getModel();
dm.getDataVector().removeAllElements();
dm.fireTableDataChanged(); // notifies the JTable that the model has changed
또는
DefaultTableModel dm = (DefaultTableModel)table.getModel();
while(dm.getRowCount() > 0)
{
dm.removeRow(0);
}
은 자세한 내용
기본 데이터 벡터를 변경하는 경우 테이블 이벤트를 발생시키는 것을 잊지 마십시오. 그렇지 않으면 JTable은 변경되었음을 알 수 없습니다 ... – dacwe
-1, 두 가지 제안이 잘못되었습니다. 첫 번째는 위에서 언급 한 이유 때문입니다. 두 번째 행은 각 행을 제거 할 때 변수 i가 계속 증가하므로 행을 건너 뜁니다. 루프를 만들려면 더 이상 행이 없을 때까지 행 0을 계속 제거하면됩니다. 그러나 Carlos는 가장 간단한 솔루션을 게시했습니다. – camickr
Camickr, 당신 말이 맞아요. 이 문제를 해결하기 위해 내 대답을 변경했습니다. 여전히 Carlos의 솔루션은 구현하기가 더 쉽습니다. –
그것은 당신이 사용하는 모델에 따라 달라 DefaultTableModel의 JavaDoc을 참조 귀하의 JTable.
표에 사용 된 TableModel
에서 데이터를 제거해야합니다.
DefaultTableModel
을 사용하는 경우 행 수를 0으로 설정하면됩니다. 그러면 행이 삭제되고 TableModelEvent
이 실행되어 GUI가 업데이트됩니다.
JTable table; … DefaultTableModel model = (DefaultTableModel) table.getModel(); model.setRowCount(0);
기타 TableModel
을 사용하는 경우 문서를 확인하십시오.
그냥 여기에 추가 ... 즉시 변경을 보려면 행 수를 0으로 설정 한 후'table.revalidate();'를 호출해야했다. 그렇지 않으면'JTable '을 클릭하기 전까지 변경 사항을 보지 못했다. '. – Sakiboy
Jim-Dingo는 나를 위해'revalidate()'없이 잘 동작합니다 : [간단한 예제] (http://pastebin.com/iDgLeKPk)'DefaultTableModel'은 데이터가 변경되었을 때 뷰를 알려줍니다 -'setNumRows int)'이면, 행 수를 줄이면'fireTableRowsDeleted'를 호출합니다. –
열이없는 깨끗한 테이블을 가져와야했습니다. 나는 folowing을했다 :
jMyTable.setModel(new DefaultTableModel());
빠르고 효과적인 솔루션이지만 헤더도 제거됩니다. 헤더를 제거하지 않는 옵션이 있으면 더 좋을 것입니다. 다른 게시물에있는 누군가가 하나씩 모든 행을 제거 할 것을 제안했습니다. 그러면 헤더를 유지할 것입니다. –
이것은 내가 찾은 가장 빠르고 쉬운 방법이다;
while (tableModel.getRowCount()>0)
{
tableModel.removeRow(0);
}
이렇게하면 테이블 lickety 분할이 지워지고 새 데이터를 준비 할 수 있습니다.
당신은 jTable의 모든 셀을 지우고 새로운 빈 jTable처럼 만들고 싶다고 생각했습니다. 예를 들어, 테이블이 MyTable 인 경우 다음을 수행 할 수 있습니다.
DefaultTableModel model = new DefaultTableModel();
myTable.setModel(model);
tMOdel.setRowCount(0);
을 사용하면 빈 표를 얻을 수 있습니다.
DefaultTableModel tMOdel = (DefaultTableModel) jtableName.getModel();
tMOdel.setRowCount(0);
자세한 내용을 편집하십시오. 코드 전용 및 "시도하십시오"답변은 검색 가능한 콘텐츠가 없으므로 권장하지 않으며 누군가가 "시도해"야하는 이유를 설명하지 않습니다. 우리는 여기서 지식을위한 자원이되기 위해 노력합니다. – abarisone
((DefaultTableModel)jTable3.getModel()).setNumRows(0); // delet all table row
이 시도 :
- 1. netbeans에서 jtable을 사용하는 방법
- 2. 빈 JTable을 인스턴스화하는 방법?
- 3. AbstractTableModel을 확장하는 사용자 정의 TableModel을 지우는 방법
- 4. 벡터로 JTable을 새로 고치는 방법
- 5. Java에서 BufferedReader를 지우는 방법
- 6. 안드로이드에서 ListView를 지우는 방법?
- 7. html 캐시를 지우는 방법
- 8. 객체를 "지우는"방법?
- 9. 확인란을 지우는 방법
- 10. 이것을 지우는 방법?
- 11. Smarty의 캐시를 지우는 방법
- 12. uiableviewcell을 지우는 방법
- 13. Viewstate를 지우는 방법?
- 14. TextBlock을 지우는 방법
- 15. NSMutableData에서 내용을 지우는 방법
- 16. 폴더를 휴지통으로 지우는 방법
- 17. JBoss에서 server.log를 지우는 방법?
- 18. jquery.event.drag를 지우는 방법
- 19. 힙을 지우는 방법?
- 20. 힘내 - 지점을 지우는 방법?
- 21. jTable을 사용하여 Lucene TableSearch를 구현하는 방법
- 22. 바운드 JTable을 최신 상태로 유지하는 방법?
- 23. 외부에서 열 인덱스를 제공하여 JTable을 정렬하는 방법
- 24. 데이터와 JTable을 사용하고 계십니까?
- 25. JTable을 JList로 사용
- 26. 아파치로 PHP $ _SESSION을 지우는 방법?
- 27. Oracle AQ에서 큐를 지우는 방법
- 28. connectionstrings의 configurationmanager 캐시를 지우는 방법
- 29. Blackberry에서 캐시 메모리를 지우는 방법?
- 30. OpenGL : 화면의 일부만 지우는 방법?
확인이 질문 : http://stackoverflow.com/questions/4439210/deleting-datas-in-the-table-in-gui/4439297#4439297 –
Dupe : http://stackoverflow.com/questions/3879610/clear-contents-of-a-jtable –