Как настроить подсказку на каждой ячейке JavaFX Table Mouse-Over?
Я новичок в JavaFX
. Я создал TableView
и выглядит как прикрепленное изображение. Я бы хотел показать подсказку инструмента в каждой ячейке таблицы при наведении мыши. Я уже установил два Cell Factory
для отображения для отображения флажка и изображения в первом и втором столбцах. Поэтому показ подсказки не должен влиять на эти два отображаемых столбца. Есть ли способ показать подсказку инструмента в каждой ячейке таблицы на мыши, и это не должно влиять на рендеринг отдельных отдельных столбцов.
![enter image description here]()
Ответы
Ответ 1
Вот что я сделал, когда мне понадобился подсказку инструмента в ячейках определенного столбца:
TableColumn<Person, String> nameCol = new TableColumn<Person, String>("Name");
nameCol.setCellFactory
(
column ->
{
return new TableCell<Person, String>()
{
@Override
protected void updateItem(String item, boolean empty)
{
super.updateItem(item, empty);
setText( item );
setTooltip(new Tooltip("Live is short, make most of it..!"));
}
};
});
Ответ 2
просто создайте подсказку и установите на node, который вы хотите
Cell c = new Cell();
Tooltip.install(c, new Tooltip("text"));
Ответ 3
![Tooltip in action]()
Вот общее решение, если кто-то ищет что-то легкое. Он следует тому же соглашению, что и другие пользовательские клеточные фабрики.
Просто создайте новый класс и вставьте TooltippedTableCell в него, а затем установите пользовательскую ячейку factory следующим образом:
someColumn.setCellFactory(TooltippedTableCell.forTableColumn());