Ventanita estilo JS emergente

Iniciado por Debci, 18 Enero 2010, 22:01 PM

0 Miembros y 2 Visitantes están viendo este tema.

Debci

Hola a todos, me gustaria saber como poner esas ventanitas emergente tan modernas que siguen al mouse, que ponen en paginas web "sofisticadas" (si sofisticadas...) que pasas el ratón encima de un link y te aparece una ventanita informativa cerca del mouse y se va cuando sales del enlace.
He pensado hacerlo con el motor de scripting rhino pero no veo la manera puesto que es javascript a java, y no se como hacerlo de manera equitativa y constructiva (definitivamente soy un chaquetero...) me refiero a poder ponerle una imagen diseñarlo y tal que no se un simple contextMenu descriptivo de java, si no con imagenes y eso.

Alguna idea?

Parto de 0.

Saludos

Blitzkrieg'

No se a cual te refieres, Screenshot de un ejemplo.



Debci

Ahora mismo no encuentro ninguna, pero em refiero a como una frame sin botoncitos de cerrar ni abrir, que contenga nomas que texto o imagenes y se abra al pasar el mouse por encima, como la ventanita de tooltip text pero mas avaznada, con imagenes y formateada.
He pensado en hacerlo con un jframe capado de la capacidad de tener botones de cerrar miniminazr y eso.

Saludos

Leyer

#3
un JtoolTip tan personalizado creo que no se puede pero se me ocurre que uses un JPopupMenu con un listerner de focus al componente x

Salu2

Blitzkrieg'

Cita de: ..::| D3Bć1 |::. en 18 Enero 2010, 22:37 PM
Ahora mismo no encuentro ninguna, pero me refiero a como una frame sin botoncitos de cerrar ni abrir, que contenga nomas que texto o imagenes y se abra al pasar el mouse por encima, como la ventanita de tooltip text pero mas avaznada, con imagenes y formateada.
He pensado en hacerlo con un jframe capado de la capacidad de tener botones de cerrar miniminazr y eso.

Saludos

Es recomendable que tu aplicación solo tenga un JFrame. Mejor hazlo con JDialog.

Para hacer un JFrame sin bordes creo que es asi:

Código (java) [Seleccionar]
frame.setUndecorated(true);

No se si tambien ande con JDialog, prueba y me dices.



egyware

Jajajaj que trivial perdón no me rio de tí si no de los post anteriores
(ando malo hoy perdón)
Como recomendación
Usa un JDialog sin bordes
Usa el listener del mouse asi sabras calculando un delta dirección del mouse en MouseMotion cuanto debes mover el Dialog
Como es un Dialog modificalo a tu pinta
Con respecto a Rhino hay no se podrias usar jQuery pero jQuery esta orientado a browser y Rhino es un interprete de javascript que no tiene nada que ver con Browser
Y eso buscare el codigo de algo que hice era parecido a los gadget de windows no estaba completo pero tiene lo que quieres.
Saludos

Debci

Gracias a todos, lo de listener no bastaria con un evento del mouseEntered de el elemento donde quier que salga y con un setBounds() y cojer la psoicion del mouse con robot para ponerlo dodne yo quiero.

Saludos

egyware

No necesitas el Robot para dejar el mouse donde tu quieres, solo calcula el delta direccion del mouse y mueve esa dirección el JDialog si no entiendes que es un delta es una diferencia entre el punto final menos el inicial
Ejemplo
int dx,dy;
Point puntoInicialMouse;
Point puntoFinalMouse;
Point posicionDialog;
JDialog dialog;
posicionDialog = dialog.getLocation();
dx =  puntoFinalMouse.x-puntoInicialMouse.x;
dy =  puntoFinalMouse.y-puntoInicialMouse.y;
dialog.setLocation(posicionDialog.x+dx,posicionDialog.y+dy);

Mas o menos asi
saludos

Debci

Cita de: egyware en 19 Enero 2010, 23:15 PM
No necesitas el Robot para dejar el mouse donde tu quieres, solo calcula el delta direccion del mouse y mueve esa dirección el JDialog si no entiendes que es un delta es una diferencia entre el punto final menos el inicial
Ejemplo
int dx,dy;
Point puntoInicialMouse;
Point puntoFinalMouse;
Point posicionDialog;
JDialog dialog;
posicionDialog = dialog.getLocation();
dx =  puntoFinalMouse.x-puntoInicialMouse.x;
dy =  puntoFinalMouse.y-puntoInicialMouse.y;
dialog.setLocation(posicionDialog.x+dx,posicionDialog.y+dy);

Mas o menos asi
saludos
Y como recojo la posicion del mouse? con point y ya esta?

Saludos

egyware

Implementa la interface MouseMotionListener y agrega el listener al componente y se te agregara dos funciones. Bueno con mouseMoved(MouseEvent e)  sabras en cada momento donde esta el mouse.
Saludos