Java에서 JTable에서 라인을 삭제하는 방법
Java에서 JTable의 행 삭제는 JTable의 템플릿에 따라 다릅니다. JTable은 기본적으로 DefaultTableModel입니다. 그러나 사용자 고유의 Table Model.DefaultTableModel><2DefaultTableModel은 데이터를 Vector 배열에 저장하므로 romoveRow(int 줄).
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
public class JTableExample extends JFrame{
Object[][] data = {{9,8,7,6},{7,6,5},{6,5,4}};
문자열[] 제목 = {"c1", "c2", "c3"};
public JTableExample(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
DefaultTableModel dtm = 새로운 DefaultTableModel(데이터, 제목);
table.setModel(dtm);
this.getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
//행 삭제 2
((DefaultTableModel)table.getModel()).removeRow(1);
팩();
}
public static void main(String[] args) {
new JTableExample();
}
}
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
public class JTableExample extends JFrame{
Object[][] data = {{9,8,7,6},{7,6,5},{6,5,4}};
문자열[] 제목 = {"c1", "c2", "c3"};
public JTableExample(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
DefaultTableModel dtm = 새로운 DefaultTableModel(데이터, 제목);
table.setModel(dtm);
this.getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
//행 삭제 2
((DefaultTableModel)table.getModel()).removeRow(1);
팩();
}
public static void main(String[] args) {
new JTableExample();
}
}
Output
![]() | ||
전면 < / td >< / tr>< / tbody >< / table >
다음에서 삭제 AbstractTableModel에서 상속되는 모델을 직접 만든 경우 AbstractTableModel removeRow입니다. 이 구현은 data.
예를 들어 ArrayList JTable 모델을 사용하는 경우 다음과 같이 표시됩니다. class 모델은 AbstractTableModel{JTable HashMap 모델: class 모델은 AbstractTableModel{요소가 동적으로 저장되지 않은 2차원 배열을 사용하는 경우 배열에서 행을 제거하는 함수가 없기 때문에 문제가 발생합니다. 따라서 (n-k)*m(k; line index) 모든 요소를 오프셋하는 데 필요한 시간 및 작업 수로 인해 발생합니다. References: Oracle 문서: DefaultableModel Developpez.com: AbstractTableModel okipa.be: JTable |