Установка курсора мыши для определенной ячейки JTable
-
05-09-2019 - |
Вопрос
У меня есть JTable с набором редактируемых ячеек, и я хочу, чтобы во всех ячейках определенного столбца отображался другой курсор мыши, пока мышь наведена на них.Я уже использую пользовательский рендерер, и установка курсора на компонент рендерера, похоже, не работает (как и для всплывающих подсказок).
Похоже, это действительно работает для редакторов.
Возможно ли это в JTable, когда ваша ячейка не редактируется, или я что-то упускаю?
Решение
Добавьте MouseMotionListener в JTable, а затем в mouseMoved() определите, какой столбец он использует, используя columnAtPoint() из JTable, и если это именно тот столбец, который вам нужен, установите cursor() в JTable.
Другие советы
Вот один из способов изменения курсора в определенном столбце в JTable:
if(tblExamHistoryAll.columnAtPoint(evt.getPoint())==5)
{
setCursor(Cursor.HAND_CURSOR);
}
else
{
setCursor(0);
}