কম্পিউটার টিউটোরিয়াল

জাভাতে JTable-এ সার্চ ফাংশনালিটি বাস্তবায়ন

JTable হলো জটিল ডেটা স্ট্রাকচার প্রদর্শনের জন্য JComponent-এর একটি সাবক্লাস। JTable কম্পোনেন্ট Model View Controller (MVC) ডিজাইন প্যাটার্ন ফলো করে সারি ও কলামে ডেটা প্রদর্শনের জন্য। JTable TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener, RowSorterListener ইন্টারফেস জেনারেট করতে পারে। JTextField-এ স্ট্রিং ইনপুট দিয়ে 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(); 
    } 
}

আউটপুট

জাভাতে JTable-এ সার্চ ফাংশনালিটি বাস্তবায়ন


জাভাতে JTable-এ সার্চ ফাংশনালিটি বাস্তবায়ন

  1. জাভাতে JTextField-এ কাট, কপি এবং পেস্ট ফাংশনালিটি কীভাবে বাস্তবায়ন করবেন?

  2. জাভাতে JPanel-এর paintComponent() মেথড কীভাবে বাস্তবায়ন করবেন?

  3. জাভাতে BorderFactory ব্যবহার করে ভিন্ন ধরনের বর্ডার কীভাবে বাস্তবায়ন করবেন?

  4. জাভাতে JToggleButton কীভাবে বাস্তবায়ন করবেন?