JTableHeader
- एक JTableHeader JComponent . का उपवर्ग है कक्षा।
- जब हम एक JTable . बनाते हैं ऑब्जेक्ट, कंस्ट्रक्टर एक नया JTableHeader . बनाता है तालिका घटक के शीर्षलेख को प्रबंधित करने के लिए ऑब्जेक्ट।
- द JTableHeader तालिका घटक के स्तंभ मॉडल . से संबद्ध वस्तु ताकि इसका UI प्रतिनिधि कॉलम खींच सकते हैं और प्रत्येक कॉलम के हेडर सेल को रेंडर कर सकते हैं।
- एक JTable एक setTableHeader() . की आपूर्ति करता है वह विधि जो तालिका शीर्ष लेख घटक के JTableHeader . को स्थापित करती है ऑब्जेक्ट और एक getTableHeader() वह विधि जो तालिका शीर्ष लेख घटक के JTableHeader . का संदर्भ लौटाती है ऑब्जेक्ट ।
हम वर्ड-रैप टेबल हेडर . को लागू कर सकते हैं DefaultTableModel . को अनुकूलित करके एक JTable का वर्ग या सारटेबल मॉडल कक्षा।
उदाहरण
import java.util.*; import javax.swing.*; import javax.swing.table.*; public class WordWrappingTableHeaderTest extends JFrame { private JTable table; public WordWrappingTableHeaderTest() { setTitle("WordWrappingTableHeader Test"); DefaultTableColumnModel tableColumnModel = new DefaultTableColumnModel() { public void addColumn(TableColumn column) { column.setHeaderRenderer(new JTableHeader().getDefaultRenderer()); super.addColumn(column); } }; table = new JTable(); table.setFillsViewportHeight(true); table.setColumnModel(tableColumnModel); table.setModel(new DemoTableModel(Arrays.asList("Word Wrapping TableHeader Test", "Word Wrapping TableHeader Test", "Word Wrapping TableHeader Test"), 20)); add(new JScrollPane(table)); setSize(450, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); setLocationRelativeTo(null); setVisible(true); } class DemoTableModel extends AbstractTableModel { private ArrayList wrappedColumnNames = new ArrayList(); private int numRows; DemoTableModel(List columnNames, int numRows) { for (String name: columnNames) wrappedColumnNames.add("" + name + ""); this.numRows = numRows; } public int getRowCount() { return numRows; } public int getColumnCount() { return wrappedColumnNames.size(); } public Object getValueAt(int rowIndex, int columnIndex) { return Integer.valueOf(10000 + (rowIndex + 1)*(columnIndex + 1)); } public String getColumnName(int column) { return wrappedColumnNames.get(column); } public Class getColumnClass(int columnIndex) { return Integer.class; } } public static void main(String[] args) { new WordWrappingTableHeaderTest(); } }
आउटपुट