import javax.swing.*; 
import javax.swing.table.DefaultTableModel; 
import java.awt.*; 

public class TableHeaderToolTipBug { 
    private TableHeaderToolTipBug() { 
    } 

    public static void main(String[] args) { 
        SwingUtilities.invokeLater(TableHeaderToolTipBug::run); 
    } 

    private static void run() { 
        Object[][] data = new Object[5][]; 
        for (int i = 0; i < data.length; i++) { 
            data[i] = new Object[]{11111111, 22222222, 33333333, 44444444, 55555555}; 
        } 
        JTable table = new JTable(new DefaultTableModel(data, new String[]{"1", "2", "3", "4", "5"})); 
        table.getTableHeader().setToolTipText("This is a table header tool tip"); 

        JPanel panel = new JPanel(new BorderLayout()); 
        panel.add(table.getTableHeader(), BorderLayout.NORTH); 
        panel.add(table); 

        JPanel anotherPanel = new JPanel(new BorderLayout()); 
        anotherPanel.add(panel); 

        JDialog dialog = new JDialog((Window) null, "Table header tool tip"); 
        dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 
        dialog.add(anotherPanel); 
        dialog.setSize(600, 400); 
        dialog.setLocationRelativeTo(null); 
        dialog.setVisible(true); 
    } 
} 