2016-02-10 9 views
0

У меня есть программа, которая создает всплывающие подсказки с помощью Figure.setToolTip(). Все работает отлично, за исключением того, что всплывающая подсказка исчезает через несколько секунд. Всплывающая подсказка может содержать много информации, и я хотел бы, чтобы всплывающая подсказка оставалась дольше (или даже неопределенно, пока курсор не выйдет из рисунка).Draw2d: Как получить всплывающую подсказку, чтобы оставаться дольше

Я не нашел методов или полей в классе ToolTipHelper, которые касаются этого. Можно ли это сделать?

Единственная другая работа, о которой я могу думать, это просто отобразить фигуру с помощью всплывающих подсказок внутри mouseEnter() и скрыть ее на mouseExited(). Но я бы скорее использовал встроенную функцию всплывающей подсказки.

ответ

1

В итоге я использовал PopUpHelper, который является суперкласс ToolTipHelper. Я просто добавил MouseMotionListener к фигуре и на mouseEntered (MouseEvent arg0) и mouseExited (MouseEvent arg0), называемый tooltipHelper.show() и tooltipHelper.hide().

Посредством вызова getLightweightSystem(). SetContents (IFigure) и setShellBounds (int, int, int, int) в PopUpHelper. Я мог бы определить, что отображать и где отображать подсказку.

Профи - это наконечник, пока мой курсор находится внутри фигуры. Всплывающая подсказка также имеет тот же размер, независимо от масштаба холста (это мешало мне просто добавить фигуру на холст и вызвать setVisible() и setLocation()).

Минусы вы должны выполнить большую часть работы самостоятельно (работа должна была сделать ToolTipHelper). Это включает скрытие всплывающей подсказки в некоторых необычных случаях (например, в моем случае, переключение вкладок, пока мышь все еще находится на рисунке) и кодирование местоположения всплывающей подсказки, чтобы не запускать экран.