View Javadoc
1   package com.jsql.view.swing.panel.consoles;
2   
3   import com.jsql.view.swing.util.UiUtil;
4   
5   import javax.swing.*;
6   import javax.swing.table.DefaultTableCellRenderer;
7   import java.awt.*;
8   
9   public class TooltipCellRenderer extends DefaultTableCellRenderer {
10      
11      @Override
12      public Component getTableCellRendererComponent(
13          JTable table,
14          Object value,
15          boolean isSelected,
16          boolean hasFocus,
17          int row,
18          int column
19      ) {
20          JLabel label = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
21          label.setToolTipText(
22              String.format(
23                  "<html><div style=\"font-size:10px;font-family:'%s'\">%s</div></html>",
24                  UiUtil.FONT_NAME_MONO_NON_ASIAN,
25                  label.getText().replaceAll("(.{100})(?!$)", "$1<br>")  // linebreak any 100 chars
26              )
27          );
28          return label;
29      }
30  }