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