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