
- Java Tutorial
- Java - Home
- Java - Overview
- Java - Environment Setup
- Java - Basic Syntax
- Java - Object & Classes
- Java - Constructors
- Java - Basic Datatypes
- Java - Variable Types
- Java - Modifier Types
- Java - Basic Operators
- Java - Loop Control
- Java - Decision Making
- Java - Numbers
- Java - Characters
- Java - Strings
- Java - Arrays
- Java - Date & Time
- Java - Regular Expressions
- Java - Methods
- Java - Files and I/O
- Java - Exceptions
- Java - Inner classes
- Java Object Oriented
- Java - Inheritance
- Java - Overriding
- Java - Polymorphism
- Java - Abstraction
- Java - Encapsulation
- Java - Interfaces
- Java - Packages
- Java Advanced
- Java - Data Structures
- Java - Collections
- Java - Generics
- Java - Serialization
- Java - Networking
- Java - Sending Email
- Java - Multithreading
- Java - Applet Basics
- Java - Documentation
- Java Useful Resources
- Java - Questions and Answers
- Java - Quick Guide
- Java - Useful Resources
- Java - Discussion
- Java - Examples
How can we implement the word wrap JTableHeader of a JTable in Java?
JTableHeader
- A JTableHeader is a subclass of JComponent class.
- When we create a JTable object, the constructor creates a new JTableHeader object to manage the table component's header.
- The JTableHeader object associated with the table component's column model so that its UI delegate can drag the columns and render each column's header cell.
- A JTable supplies a setTableHeader() method that establishes the table header component's JTableHeader object and a getTableHeader() method that returns a reference to the table header component's JTableHeader object.
We can implement the word-wrap table header of a JTable by customizing the DefaultTableModel class or AbstractTableModel class.
Example
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(); } }
Output
- Related Articles
- How can we implement line wrap and word wrap text inside a JTextArea in Java?
- How can we filter a JTable in Java?
- How can we show/hide the table header of a JTable in Java?
- How can we prevent the re-ordering columns of a JTable in Java?
- How to implement the search functionality of a JTable in Java?
- How can we disable the cell editing inside a JTable in Java?
- How can we detect the double click events of a JTable row in Java?
- How can we implement a JToggleButton in Java?
- How can we remove a selected row from a JTable in Java?
- How can we sort a JTable on a particular column in Java?
- Can we hide the table header from a JTable in Java?
- How can we add/insert a JButton to JTable cell in Java?
- How can we implement a Custom HashSet in Java?
- How can we implement a scrollable JPanel in Java?
- How can we implement a rounded JTextField in Java?

Advertisements