A JTable জটিল ডেটা স্ট্রাকচার প্রদর্শনের জন্য JComponent-এর একটি সাবক্লাস। একটি JTable উপাদান মডেল ভিউ কন্ট্রোলার (MVC) ডিজাইন প্যাটার্ন অনুসরণ করতে পারে সারি এবং কলামে ডেটা প্রদর্শনের জন্য . একটি JTable TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener, RowSorterListener তৈরি করতে পারে ইন্টারফেস আমরা JTextField-এ একটি স্ট্রিং ইনপুট করে একটি JTable-এর অনুসন্ধান কার্যকারিতা বাস্তবায়ন করতে পারি , এটি একটি JTable এ উপলব্ধ একটি স্ট্রিং অনুসন্ধান করতে পারে। যদি স্ট্রিংটি মেলে তবে এটি শুধুমাত্র একটি JTable এ সংশ্লিষ্ট মান প্রদর্শন করতে পারে। আমরা DocumentListener ব্যবহার করতে পারি এটি বাস্তবায়নের জন্য একটি JTextField এর ইন্টারফেস।
উদাহরণ
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(); } }
আউটপুট