Setting Tool Tips on Cells in a JTable

This section tells you, how to set the tool tips
in the cells in a JTable component. So, you will be able to know about the tool
tips. The tool tips are most common graphical user interface that is used
to display the message in small box given by the user appropriate message or
given references in string format taken by the pointer, when the mouse pointer
or cursor goes on it, a message (description) appears without clicking it.
or you can say that, this is the short
descriptions of data that pop up when the cursor or pointer lingers over the
component.
Description of program:
With the help of this program you will set the tool
tips on cells in JTable. First of all, this program creates a JTable
having the data and column with column header. Here overrides the prepareRenderer()
method and sets the tool tips on returned JTable component. For
getting the JComponent object use type casting in the Component
object that will help you to set the tool tips on the specified cell. Whenever,
the cursor or pointer goes on it, it takes its value and shows like tool tips.
Description of code:
setToolTipsText(String str):
This is the method that is used to display the text in tool tips. The
setting strings display whenever the cursor or pointer lingers goes on those
component. It takes string type parameter like this:
str:
This is the string type value when you use the type casting, it returns
the cell value by default with the help of row and column of JTable.
Here is the code of program:
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);
}
}
|
Download this example.
Output of program:

|