JTableHeader
- A JTableHeader เป็นคลาสย่อยของ JComponent คลาส.
- เมื่อเราสร้าง JTable วัตถุ ตัวสร้างสร้าง JTableHeader . ใหม่ วัตถุเพื่อจัดการส่วนหัวขององค์ประกอบตาราง
- The JTableHeader ออบเจ็กต์ที่เกี่ยวข้องกับ โมเดลคอลัมน์ . ของคอมโพเนนต์ตาราง เพื่อให้ผู้รับมอบสิทธิ์ UI สามารถลากคอลัมน์และแสดงผลเซลล์ส่วนหัวของแต่ละคอลัมน์ได้
- JTable ให้ setTableHeader() เมธอดที่สร้าง JTableHeader . ขององค์ประกอบส่วนหัวของตาราง วัตถุ และ getTableHeader() วิธีที่ส่งคืนการอ้างอิงไปยัง JTableHeader . ของคอมโพเนนต์ส่วนหัวของตาราง วัตถุ .
เราสามารถใช้ ส่วนหัวของตารางตัดคำ ของ JTable โดยกำหนด DefaultTableModel class หรือ AbstractTableModel ชั้นเรียน
ตัวอย่าง
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(); } }
ผลลัพธ์