Setting the Column Header in JTable

In the previous section, you have learnt about the creation of
JTable without column headers. In this example you will learn how to set the column headers in JTable using
JTableHeader. Java provides some method and APIs that helps you in setting the column headers in JTable. For more, go to the example.
Description of program:
This program will help you in setting the column headers in
JTable. First of all, program creates a table that has some data in row and column format by using the
JTable constructor. This table hasn't any column headers initially. For setting the column headers use the
JTableHeader that helps you for constructing the JTableHeader that depends on its initialized column model in the
TableColumnModel object. The header object adds in JScrollPane and
JScrollPane adds in the Panel that will add in the frame which appears you on the screen. Exercise this and check it out.
Description of code:
JTableHeader:
This is the constructor of JTableHeader class that is used for constructing
the JTableHeader with initialized value in the JTableColumnModel. The
object of JTableHeader is to manage the header of JTable.
getTableHeader():
This method takes table header from the JTable.
Here is the code of program:
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
public class SetColumnHeader{
public static void main(String[] args) {
new SetColumnHeader();
}
public SetColumnHeader(){
JFrame frame = new JFrame("Setting the Column Header!");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
String data[][] = {{"100","Vinod","programmer","5000"},
{"101","Deepak","Content Writer","20000"},
{"102","Noor","Techniqual Writer","30000"},
{"104","Rinku","PHP programar","25000"}};
String col[] = {"Emp_Id","Emp_name","Emp_depart","Emp_sal"};
DefaultTableModel model = new DefaultTableModel(data,col);
JTable table = new JTable(model);
JTableHeader header = table.getTableHeader();
header.setBackground(Color.yellow);
JScrollPane pane = new JScrollPane(table);
panel.add(pane);
frame.add(panel);
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
frame.setSize(460,200);
frame.setVisible(true);
}
}
|
Download this example.
Output of program:

|
Current Comments
1 comments so far (post your own) View All Comments Latest 10 Comments:i am not getting the table header.i have not used the defaulttablemodel class in my code.i just used JTaable tab=new JTable(data,col)
Posted by mano on Monday, 05.14.07 @ 17:09pm | #15858