//this Example is modified from http://www.crionics.com/products/opensource/faq/swing_ex/SwingExamples.html
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
/**
* @version 1.0 11/09/98
*/
public class MultiLineHeaderExample extends JFrame {
MultiLineHeaderExample() {
super( "Multi-Line Header Example" );
DefaultTableModel dm = new DefaultTableModel();
dm.setDataVector(new Object[][]{{"a","b","c"},
{"A","B","C"}},
new Object[]{"Fire Column\nalpha","Second Column\nbeta","Third
column\ngamma"});
JTable table = new JTable( dm );
MultiLineHeaderRenderer renderer = new MultiLineHeaderRenderer();
Enumeration enumm = table.getColumnModel().getColumns();
while (enumm.hasMoreElements()) {
((TableColumn)enumm.nextElement()).setHeaderRenderer(renderer);
}
JScrollPane scroll = new JScrollPane( table );
getContentPane().add( scroll );
setSize( 400, 110 );
setVisible(true);
}
public static void main(String[] args)
{
MultiLineHeaderExample frame = new MultiLineHeaderExample();
frame.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent e ) {
System.exit(0);
}
});
}
}