У меня есть JTable
. В одной колонке содержится JPanel
, которая содержит JLabels
с ImageIcons
. Я создал пользовательский рендеринг ящиков, и все работает отлично от наконечника инструмента на JLabel
. Когда я нахожусь над любым из этих JLabels
, мне нужно показать Tooltip
этого конкретного JLabel
. Он не показывает изоляцию от JLabel
.Инструмент в JPanel в JTable не работает
Адрес CustomRenderer
.
private class CustomRenderer extends
DefaultTableCellRenderer implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
if (value != null && value instanceof List) {
JPanel iconsPanel = new JPanel(new GridBagLayout());
List<ImageIcon> iconList = (List<ImageIcon>) value;
int xPos = 0;
for (ImageIcon icon : iconList) {
JLabel iconLabel = new JLabel(icon);
iconLabel.setToolTipText(icon.getDescription());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridy = 1;
gbc.gridx = xPos++;
iconsPanel.add(iconLabel, gbc);
}
iconsPanel.setBackground(isSelected ? table
.getSelectionBackground() : table.getBackground());
this.setVerticalAlignment(CENTER);
return iconsPanel;
}
return this;
}
}
Пожалуйста, пост код из части в вопросе. –
[Для лучшей помощи, скорее всего, включите sscce] (http://www.sscce.org/). – user1329572
Он не показывает всплывающую подсказку, потому что там нет реального компонента. JTable работает с рендерером - все, что вы получаете, это paintComponent() компонента, возвращаемого средством отображения ячеек таблицы. – ControlAltDel