Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีการใช้ฟังก์ชันการค้นหาของ JTable ใน Java?


JTable เป็นคลาสย่อยของ JComponent สำหรับแสดงโครงสร้างข้อมูลที่ซับซ้อน คอมโพเนนต์ JTable เป็นไปตามรูปแบบการออกแบบ Model View Controller (MVC) สำหรับแสดงข้อมูลใน แถวและคอลัมน์ . JTable สามารถสร้าง TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener, RowSorterListener อินเทอร์เฟซ เราสามารถใช้ฟังก์ชันการค้นหาของ JTable ได้โดยป้อนสตริงใน JTextField มันสามารถค้นหาสตริงที่มีอยู่ใน JTable หากสตริงตรงกัน จะแสดงเฉพาะค่าที่สอดคล้องกันใน JTable เราสามารถใช้ DocumentListener อินเทอร์เฟซของ JTextField เพื่อใช้งาน

ตัวอย่าง

<ก่อนหน้า>นำเข้า java.awt.*;นำเข้า javax.swing.*;นำเข้า javax.swing.event.*;นำเข้า javax.swing.table.*;คลาสสาธารณะ JTableSearchTest ขยาย JFrame { JTextField ส่วนตัว jtf; JLabel ส่วนตัว searchLbl; โมเดล TableModel ส่วนตัว; ตาราง JTable ส่วนตัว; ตัวเรียงลำดับ TableRowSorter ส่วนตัว; JScrollPane jsp ส่วนตัว; JTableSearchTest สาธารณะ () { setTitle ("การทดสอบ JTableSearch"); jtf =ใหม่ JTextField(15); searchLbl =ใหม่ JLabel("ค้นหา"); สตริง[] columnNames ={"ชื่อ", "เทคโนโลยี"}; Object[][] rowData ={{"ราชา", "Java"},{"Vineet", "Java Script"},{"Archana", "Python"},{"Krishna", "Scala"},{ "อดิธยา", "AWS"},{"ใจ", ".Net"}}; model =DefaultTableModel ใหม่ (rowData, columnNames); sorter =TableRowSorter ใหม่ <> (รุ่น); ตาราง =JTable ใหม่ (รุ่น); table.setRowSorter(ตัวเรียงลำดับ); setLayout(โฟลว์เลย์เอาต์ใหม่(FlowLayout.CENTER)); jsp =JScrollPane ใหม่ (ตาราง); เพิ่ม (searchLbl); เพิ่ม (jtf); เพิ่ม (jsp); jtf.getDocument ().addDocumentListener (DocumentListener ใหม่ () { @แทนที่โมฆะสาธารณะ insertUpdate (DocumentEvent e) { ค้นหา (jtf.getText ()); } @ แทนที่โมฆะสาธารณะ removeUpdate (DocumentEvent e) { ค้นหา (jtf.getText () ); } @Override public void changeUpdate(DocumentEvent e) { search(jtf.getText()); } public void search (String str) { if (str.length() ==0) { sorter.setRowFilter(null); } } อื่น ๆ { sorter.setRowFilter (RowFilter.regexFilter (str)); } } }); ขนาดชุด (475, 300); setDefaultCloseOperation(EXIT_ON_CLOSE); setLocationRelativeTo(null); setResizable (เท็จ); setVisible(จริง); } โมฆะคงที่สาธารณะ main (สตริง [] args) { ใหม่ JTableSearchTest (); }}

ผลลัพธ์

วิธีการใช้ฟังก์ชันการค้นหาของ JTable ใน Java?


วิธีการใช้ฟังก์ชันการค้นหาของ JTable ใน Java?