import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class CellToolTips{
	JTable table;
	public static void main(String[] args) {
		new CellToolTips();
	}

	public CellToolTips(){
		JFrame frame = new JFrame("Setting Tool Tips on Cells in a JTable!");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JPanel panel = new JPanel();
		String data[][] = {{"Vinod","MCA","Computer"},{"Deepak","PGDCA","History"},{"Ranjan","M.SC.","Biology"},{"Radha","BCA","Computer"}};
		String col[] = {"Name","Course","Subject"};
		DefaultTableModel model = new DefaultTableModel(data,col);
		table = new JTable(model){
			public Component prepareRenderer(TableCellRenderer renderer,int row, int col) {
				Component comp = super.prepareRenderer(renderer, row, col);
				JComponent jcomp = (JComponent)comp;
				if (comp == jcomp) {
					jcomp.setToolTipText((String)getValueAt(row, col));
				}
				return comp;
			}
		};
		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(500,150);
		frame.setVisible(true);
	}
}