एक जेटेबल JComponent . का उपवर्ग है जटिल डेटा संरचनाओं को प्रदर्शित करने के लिए वर्ग। एक JTable घटक मॉडल व्यू कंट्रोलर (MVC) डिज़ाइन पैटर्न का अनुसरण कर सकता है पंक्तियों और स्तंभों में डेटा प्रदर्शित करने के लिए। एक JTable TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener, RowSorterListener उत्पन्न कर सकता है। इंटरफेस। हम DefaultTableCellRenderer को अनुकूलित करके JTable के प्रत्येक कॉलम के लिए पृष्ठभूमि और अग्रभूमि का रंग बदल सकते हैं वर्ग और इसकी केवल एक विधि है getTableCellRendererComponent() इसे लागू करने के लिए।
उदाहरण
import java.awt.*; import javax.swing.*; import javax.swing.table.*; public class JTableColumnColorTest extends JFrame { private JTable table; private TableColumn tColumn; public JTableColumnColorTest() { setTitle("JTableColumnColor Test"); table = new JTable(10, 5); tColumn = table.getColumnModel().getColumn(2); tColumn.setCellRenderer(new ColumnColorRenderer(Color.lightGray, Color.red)); add(new JScrollPane(table), BorderLayout.CENTER); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String [] args) { new JTableColumnColorTest(); } } // Customize the code to set the background and foreground color for each column of a JTable class ColumnColorRenderer extends DefaultTableCellRenderer { Color backgroundColor, foregroundColor; public ColumnColorRenderer(Color backgroundColor, Color foregroundColor) { super(); this.backgroundColor = backgroundColor; this.foregroundColor = foregroundColor; } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); cell.setBackground(backgroundColor); cell.setForeground(foregroundColor); return cell; } }
आउटपुट