Вот как я бы попытался это реализовать:
Добавьте MouseListener и MouseMotionListener в свой JList. Когда mouser входит в список, запускается поток, ожидающий определенной задержки (полсекунды). Когда мышь перемещается или перетаскивается, перезапустите, ожидая задержки. Когда мышь выйдет из JList, отмените поток. Используйте этих слушателей, чтобы отслеживать положение мыши.
После того, как задержка достигнута (что должно означать, что мышь оставалась в списке без движения в течение всей задержки), используйте SwingUtilities.invokeLater, чтобы отобразить информационное окно. Вы можете использовать locationToIndex из JList, чтобы определить, над какой строкой находится мышь.