componentes componente autocompleter java swing

java - componente - ¿Cómo controlo la visualización de la información sobre herramientas de JComponent?



java autocompleter (2)

Eche un vistazo a ToolTipManager .

Puede registrar su componente con ese administrador y luego ajustar una cantidad de configuraciones. Es bastante sencillo de usar.

Eso al menos puede resolver su problema de retraso inicial.

Para su primer problema, puede reemplazar el comando createTooltip de su componente para obtener la instancia de JTooltip. y luego es fácil hacer que la posición cambie cada vez que mueva el mouse (es decir, siga el mouse) ya que es una subclase de la clase JComponent.

Tengo un JComponent que está pintando varias formas sobre sí mismo. Estoy detectando cada vez que el mouse ingresa una de estas formas y cambia la información sobre herramientas en consecuencia.

Los problemas que estoy teniendo son:

  • La información sobre herramientas no sigue al mouse ya que el usuario rastrea el mouse sobre la forma. Permanece donde primero se estableció y luego solo salta cada vez que otra forma cambia la información sobre herramientas.
  • La sugerencia de la herramienta tarda aproximadamente un segundo en aparecer, pero me gustaría que aparezca de inmediato.

¿Puede alguien sugerir una forma de obtener estos comportamientos sin escribir un mecanismo personalizado de información sobre herramientas?


Para resolver su primer problema de que la información sobre herramientas no sigue al mouse, si anula la getToolTipLocation (MouseEvent e) en JComponent, puede devolver el punto donde desea que aparezca la información sobre herramientas. MouseEvent te permitirá recuperar el xey.