Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में JTable की सर्च कार्यक्षमता कैसे इम्प्लीमेंट करें?

एक 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(); 
    } 
}

आउटपुट

Java में JTable की सर्च कार्यक्षमता कैसे इम्प्लीमेंट करें?


Java में JTable की सर्च कार्यक्षमता कैसे इम्प्लीमेंट करें?


  1. Java में JPanel के paintComponent() विधि को कैसे लागू करें? Java में JPanel के paintComponent() विधि को कैसे लागू करें?

    एक JPanel एक हल्का कंटेनर है और यह Java में एक अदृश्य घटक है। JPanel का डिफ़ॉल्ट लेआउट FlowLayout है। JPanel बनने के बाद, अन्य घटकों को JPanel ऑब्जेक्ट में इसकी add() विधि को कॉल करके जोड़ा जा सकता है जो Container क्लास से विरासत में मिली है। paintComponent() यह विधि JPanel पर बैकग्राउंड कलर बनाने

  1. Java में BorderFactory का उपयोग करके विभिन्न बॉर्डर कैसे लागू करें? Java में BorderFactory का उपयोग करके विभिन्न बॉर्डर कैसे लागू करें?

    BorderFactory एक फैक्टरी क्लास है जो Java में विभिन्न प्रकार के बॉर्डर प्रदान करती है। बॉर्डर के प्रकार BevelBorder: यह बॉर्डर उभरे हुए या दबे हुए बेवेल्ड किनारे खींचता है। EmptyBorder: यह कोई ड्राइंग नहीं करता, लेकिन जगह लेता है। EtchedBorder: एक लोअर एच्ड बॉर्डर एक आयत की उपस्थिति देता है और एक

  1. Java में JToggleButton कैसे लागू करें Java में JToggleButton कैसे लागू करें

    JToggleButtonएक JToggleButton AbstractButton का एक्सटेंशन है और इसका उपयोग उन बटनों को दर्शाने के लिए किया जा सकता है जिन्हें ON और OFF किया जा सकता है।जब JToggleButton को पहली बार दबाया जाता है, तो यह दबा हुआ रहता है और इसे केवल दूसरी बार दबाने पर रिलीज़ किया जा सकता है।एक JToggleButton हर बार दबाए