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

Java में JTableHeader के प्रत्येक कॉलम पर टूलटिप कैसे सेट करें?

एक JTableHeader, JComponent क्लास का एक सबक्लास है, जब हम JTable ऑब्जेक्ट बनाते हैं, तो कंस्ट्रक्टर टेबल कंपोनेंट के हेडर को प्रबंधित करने के लिए एक नया JTableHeader ऑब्जेक्ट बनाता है। एक JTable setTableHeader() मेथड सप्लाई करता है जो टेबल हेडर कंपोनेंट के JTableHeader ऑब्जेक्ट को स्थापित करता है और एक getTableHeader() मेथड जो टेबल हेडर कंपोनेंट के JTableHeader ऑब्जेक्ट का रेफरेंस लौटाता है। हम JTableHeader क्लास के getToolTipText() मेथड को ओवरराइड करके JTableHeader के प्रत्येक कॉलम पर टूलटिप टेक्स्ट सेट कर सकते हैं।

उदाहरण

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.table.*; 
public class JTableHeaderToolTipTest extends JPanel { 
    private DefaultTableModel dmodel; 
    private JTable table; 
    private JScrollPane jsp; 
    public JTableHeaderToolTipTest() { 
        setLayout(new BorderLayout()); 
        String[] headers = {"Name", "Age", "Contact Number", "City"}; 
        String[] toolTips = {"Name of Emp", "Age of Emp", "Contact Number of Emp","City of Emp"}; 
        dmodel = new DefaultTableModel(headers, 4); 
        table = new JTable(dmodel); 
        ToolTipHeader tooltipHeader = new ToolTipHeader(table.getColumnModel()); 
        tooltipHeader.setToolTipStrings(toolTips); 
        table.setTableHeader(tooltipHeader); 
        jsp = new JScrollPane(table); 
        add(jsp, BorderLayout.CENTER); 
    } 
    public static void main(String[] args) { 
        JFrame frame = new JFrame("JTableHeaderToolTip Test"); 
        frame.getContentPane().add(new JTableHeaderToolTipTest(), BorderLayout.CENTER); 
        frame.setSize(400, 250); 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        frame.setLocationRelativeTo(null); 
        frame.setVisible(true); 
    } 
} 
// implementation code to set a tooltip text to each column of JTableHeader
class ToolTipHeader extends JTableHeader { 
    String[] toolTips; 
    public ToolTipHeader(TableColumnModel model) { 
        super(model); 
    } 
    public String getToolTipText(MouseEvent e) { 
        int col = columnAtPoint(e.getPoint()); 
        int modelCol = getTable().convertColumnIndexToModel(col); 
        String retStr; 
        try { 
            retStr = toolTips[modelCol]; 
        } catch (NullPointerException ex) { 
            retStr = ""; 
        } catch (ArrayIndexOutOfBoundsException ex) { 
            retStr = ""; 
        } 
        if (retStr.length() < 1) { 
            retStr = super.getToolTipText(e); 
        } 
        return retStr; 
    } 
    public void setToolTipStrings(String[] toolTips) { 
        this.toolTips = toolTips; 
    } 
}

आउटपुट

Java में JTableHeader के प्रत्येक कॉलम पर टूलटिप कैसे सेट करें?


  1. Java में JTable के प्रत्येक कॉलम की चौड़ाई कैसे बदलें? Java में JTable के प्रत्येक कॉलम की चौड़ाई कैसे बदलें?

    JTable एक JTable जटिल डेटा संरचनाओं को प्रदर्शित करने के लिए JComponent का एक उपवर्ग है। एक JTable डेटा को पंक्तियों और स्तंभों में प्रदर्शित करने के लिए मॉडल व्यू कंट्रोलर (MVC) डिज़ाइन पैटर्न का पालन कर सकता है। DefaultTableModel वर्ग AbstractTableModel को विस्तारित कर सकता है और इसका उपयोग JTab

  1. Java में JPanel पर बैकग्राउंड कलर कैसे सेट करें? Java में JPanel पर बैकग्राउंड कलर कैसे सेट करें?

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

  1. Java में JCheckBox पर बॉर्डर कैसे सेट करें? Java में JCheckBox पर बॉर्डर कैसे सेट करें?

    एक JCheckBox एक घटक है जो JToggleButton को विस्तारित कर सकता है और JCheckBox का एक ऑब्जेक्ट एक विकल्प को दर्शाता है जिसे चेक किया गया या अनचेक किया गया हो सकता है। यदि दो या अधिक विकल्प हैं तो इन विकल्पों का कोई भी संयोजन एक ही समय में चुना जा सकता है। हम setBorder() विधि का उपयोग करके JCheckBox घट