A JTable 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; } }
আউটপুট