Подтвердить что ты не робот

Как настроить подсказку на каждой ячейке JavaFX Table Mouse-Over?

Я новичок в JavaFX. Я создал TableView и выглядит как прикрепленное изображение. Я бы хотел показать подсказку инструмента в каждой ячейке таблицы при наведении мыши. Я уже установил два Cell Factory для отображения для отображения флажка и изображения в первом и втором столбцах. Поэтому показ подсказки не должен влиять на эти два отображаемых столбца. Есть ли способ показать подсказку инструмента в каждой ячейке таблицы на мыши, и это не должно влиять на рендеринг отдельных отдельных столбцов.

enter image description here

4b9b3361

Ответ 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());