2021. 5. 30. 20:20ㆍjava
DefaultTableModel model = new DefaultTableModel(data,header) {
public boolean isCellEditable(int rowindex, int mCollndex) {
return false;
}
}; //테이블 모델 선언
JTable table=new JTable(model);
final TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);//TableRowSorter 선언, 나중에 리스너 사용을 위한 상수선언.
table.setRowSorter(sorter); // JTable에 RowSorter 설정
final JTextField filterText=new JTextField(); // 리스너 사용을 위한 상수 선언
filterText.setPreferredSize(new Dimension(300,30));
filterP.add(filterText);
JButton filterB=new JButton("검색");
filterB.setPreferredSize(new Dimension(300,30));
filterP.add(filterB);
filterB.addActionListener(new ActionListener() { //버튼에 익명 액션리스너 구현
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String text = filterText.getText(); // 텍스트 필드의 데이터를 가져옴
if (text.length() == 0) {
sorter.setRowFilter(null); // 데이터가 없으면 초기화
} else {
sorter.setRowFilter(RowFilter.regexFilter(text)); // 데이터가 있으면 해당 내용으로 필터 설정, 즉 해당하는 열만 검색됨.
}
}
});
'java' 카테고리의 다른 글
JTable 수정불가, 이동불가, 생성 후 열추가 다루기 (0) | 2021.05.30 |
---|