
- Example - Home
- Example - Environment Setup
- Example - Borders
- Example - Buttons
- Example - CheckBoxes
- Example - Combo Boxes
- Example - Color Choosers
- Example - Dialogs
- Example - Editor Panes
- Example - File Choosers
- Example - Formatted TextFields
- Example - Frames
- Example - Lists
- Example - Layouts
- Example - Menus
- Example - Password Fields
- Example - Progress Bars
- Example - Scroll Panes
- Example - Sliders
- Example - Spinners
- Example - Tables
- Example - Toolbars
- Example - Tree
Swing Examples - Add Tooltip to Header of table
Following example showcase how to add tooltip to the headers of a table in a Java Swing application.
We are using the following APIs.
JTable(Object[][] data, String[] columnNames) − To create a table.
JTable().createDefaultTableHeader() − Override the existing method to set the custom tooltip.
Example
import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.JTableHeader; public class SwingTester { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; public SwingTester(){ prepareGUI(); } public static void main(String[] args){ SwingTester swingControlDemo = new SwingTester(); swingControlDemo.showTableDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Java Swing Examples"); mainFrame.setSize(500,400); mainFrame.setLayout(new GridLayout(3, 1)); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); headerLabel = new JLabel("", JLabel.CENTER); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private void showTableDemo(){ headerLabel.setText("Control in action: JTable"); String[] columnNames = {"Name", "Salary"}; Object[][] data = { {"Ramesh Raman", 5000}, {"Shabbir Hussein", 7000} }; final String[] columnToolTips = { "Name of the person", "Salary of the Person" }; JTable table = new JTable(data, columnNames){ //Implement table header tool tips. protected JTableHeader createDefaultTableHeader() { return new JTableHeader(columnModel) { public String getToolTipText(MouseEvent e) { int colIndex = columnModel.getColumnIndexAtX(e.getPoint().x); int index = columnModel.getColumn(colIndex).getModelIndex(); return columnToolTips[index]; } }; } }; table.setAutoCreateRowSorter(true); JScrollPane scrollPane = new JScrollPane(table); scrollPane.setSize(300, 300); table.setFillsViewportHeight(true); controlPanel.add(scrollPane); mainFrame.setVisible(true); } }
Output

Advertisements