Search code examples
jpaneltooltipmultiline

tooltip text erasing table on panel


My tooltip text erasing the panel. Also I am unable to display large text in multiple lines. I cannot use <html> tags as I am passing string to tooltip. Any help could be appreciated. Thanks in advance...

JTable table = new JTable(dfm)
{
    public String getToolTipText( MouseEvent e )
                {
                    int row = rowAtPoint( e.getPoint() );
                    int column = columnAtPoint( e.getPoint() );

                    String value = getValueAt(row, column).toString();
                    return value == null ? null : value;
                }
            };

Solution

  • For displaying table cell data in multiple lines one can use the code as follows:

    public class MyRenderer extends JTextArea implements TableCellRenderer {
    
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    
    public MyRenderer() {
        setLineWrap(true);
        setWrapStyleWord(true);
        setOpaque(true);
    }
    
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
            int row, int column) {
        // TODO Auto-generated method stub
        setText(value.toString());//or something in value, like value.getNote()..
        if (isSelected) {
            setForeground(table.getSelectionForeground());
            setBackground(table.getSelectionBackground());
        } else {
            setForeground(table.getForeground());
            setBackground(table.getBackground());
        }
        setSize(table.getColumnModel().getColumn(column).getWidth(),
            getPreferredSize().height);
        if (table.getRowHeight(row) != getPreferredSize().height) {
            table.setRowHeight(row, getPreferredSize().height);
        }
        return this;
          }
    }
    

    and tooltip error is not resolved