एक JTable, जटिल डेटा स्ट्रक्चर्स को प्रदर्शित करने के लिए JComponent का एक सबक्लास है। एक JTable कंपोनेंट डेटा को पंक्तियों और कॉलम में प्रदर्शित करने के लिए मॉडल व्यू कंट्रोलर (MVC) डिज़ाइन पैटर्न का पालन कर सकता है। एक JTable TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener, RowSorterListener इंटरफेस उत्पन्न कर सकता है। हम JTextField में एक स्ट्रिंग इनपुट करके JTable की सर्च कार्यक्षमता को इम्प्लीमेंट कर सकते हैं, यह JTable में उपलब्ध स्ट्रिंग को खोज सकता है। यदि स्ट्रिंग मेल खाती है तो यह JTable में केवल संबंधित मान प्रदर्शित कर सकता है। हम इसे इम्प्लीमेंट करने के लिए JTextField के DocumentListener इंटरफेस का उपयोग कर सकते हैं।
उदाहरण
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
public class JTableSearchTest extends JFrame {
private JTextField jtf;
private JLabel searchLbl;
private TableModel model;
private JTable table;
private TableRowSorter sorter;
private JScrollPane jsp;
public JTableSearchTest() {
setTitle("JTableSearch Test");
jtf = new JTextField(15);
searchLbl = new JLabel("Search");
String[] columnNames = {"Name", "Technology"};
Object[][] rowData = {{"Raja", "Java"},{"Vineet", "Java Script"},{"Archana", "Python"},{"Krishna", "Scala"},{"Adithya", "AWS"},{"Jai", ".Net"}};
model = new DefaultTableModel(rowData, columnNames);
sorter = new TableRowSorter<>(model);
table = new JTable(model);
table.setRowSorter(sorter);
setLayout(new FlowLayout(FlowLayout.CENTER));
jsp = new JScrollPane(table);
add(searchLbl);
add(jtf);
add(jsp);
jtf.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
search(jtf.getText());
}
@Override
public void removeUpdate(DocumentEvent e) {
search(jtf.getText());
}
@Override
public void changedUpdate(DocumentEvent e) {
search(jtf.getText());
}
public void search(String str) {
if (str.length() == 0) {
sorter.setRowFilter(null);
} else {
sorter.setRowFilter(RowFilter.regexFilter(str));
}
}
});
setSize(475, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
new JTableSearchTest();
}
}
आउटपुट

