Tengo un JDialog
que toma un nombre del usuario. Detrás del JDialog
, hay un applet. No quiero que el usuario acceda a ese applet hasta que haya ingresado el nombre. Intenté JDialog.setAlwaysOnTop(true)
, pero el applet lanza un error AccessException
. Entonces, lo que hice fue mantener un ciclo while que ejecutará JDialog.setVisible(true)
hasta que el JtextField
(entrada para el nombre de usuario) esté vacío (""). Pero por alguna razón, esto funciona realmente lento, es decir, las cargas JDialog
, pero lleva tiempo enfocarse en el JTextField
e incluso cuando el usuario escribe su nombre, se vuelve realmente lento ... como un personaje en 2 segundos ... ¿Hay algún ¿De otra manera, forzar al usuario a ingresar el nombre antes de acceder al applet?cómo asegurar que JDialog siempre se mantenga en la parte superior
Respuesta
Utilice un JDialog modal. Por ejemplo el código en su init (...) el método de JApplet podría incluir:
JDialog dialog = new JDialog(SwingUtilities.windowForComponent(this));
dialog.setModal(true);
dialog.setSize(...);
dialog.setVisible(true);
o simplemente puede usar un JOptionPane.showInputDialog(). De nuevo, simplemente debería especificar "this" como el componente principal del panel de opciones.
Se ejecuta lentamente porque el programa está procesando de que fu bucle
Lo que puede hacer es añadir un oyente ventana y luego el JDialog perdió su foco (o el applet lo gana) devuelve el foco a la JDialog.
Esto debe realizar mucho mejor que el bucle que está usando en este momento
Si ModalityTypes funciona para applets, sugeriría que en su lugar. Sin embargo, no tengo tiempo para averiguarlo. –
Agregué un FocusListener a JDialog y escribí el cuerpo para la función focusLost() en él. Sin embargo, parece que no funciona. Si el usuario hace clic fuera del JDialog, no volverá a aparecer. Creo que hacer clic fuera del JDialog no hace que el JDialog pierda el foco, simplemente se oculta. – mithun1538
mmhhh, ¿puedes publicar un código de muestra? – OscarRyz
Otra opción sería:
frame.setAlwaysOnTop(true);
Obliga al diálogo por encima de cualquier otra.
- 1. Enfrente de "siempre en la parte superior"
- 2. Hacer que la ventana siempre permanezca encima de OTRA ventana que ya se mantiene en la parte superior?
- 3. ¿Cómo mantener un QWidget siempre en la parte superior?
- 4. siempre en la parte superior div dentro de la zona
- 5. ExtJS 4 "siempre en la parte superior" Ventana
- 6. Visual Studio siempre en la parte superior al depurar
- 7. Cabecera UITableView que se mantiene en la parte superior
- 8. Cómo "z-index" para hacer que un menú esté siempre en la parte superior del contenido
- 9. JDialog sin modelar debe estar visible en la parte superior del elemento principal
- 10. ¿Cómo mantener el encabezado estático, siempre en la parte superior mientras se desplaza?
- 11. ¿Cómo asegurar que ese impulso se mantenga después de un hito de desarrollo importante?
- 12. Capa transparente de la ventana que es click-through y siempre permanece en la parte superior
- 13. Eclipse IDE: ¿es posible tener ventanas separadas que no siempre estén en la parte superior?
- 14. ¿Mantener el elemento de encabezado siempre en la parte superior cuando se desplaza?
- 15. ¿Cómo asegurar que una marca de tiempo sea siempre única?
- 16. Propietario de la ventana en WPF sin comportamiento siempre en la parte superior
- 17. ¿Cómo hago que la Bullet de RadioButton se alinee en la parte superior?
- 18. cómo asegurarse de que un registro esté siempre en la parte superior de un determinado conjunto de resultados en mysql?
- 19. Configuración de una ventana XAML siempre en la parte superior (pero no en la propiedad TopMost)
- 20. haga que UIView en UIScrollView se adhiera a la parte superior cuando se desplazó hacia arriba
- 21. ¿Cómo desplazar QPlainTextEdit a la parte superior?
- 22. WPF WebBrowser (3.5 SP1) Siempre en la parte superior: otra sugerencia para mostrar HTML en WPF
- 23. aplicación de Android que se ejecuta en la parte superior de todas las demás aplicaciones?
- 24. ¿Cómo puedo hacer que mi wxpython se muestre en la parte superior de mi escritorio?
- 25. MVC3 Razor - Response.WriteSubstitution siempre muestra mi texto en la parte superior de la página
- 26. Java setFullScreenWindow() mantener en la parte superior
- 27. ¿Cómo puedo evitar que FindDialog se mantenga en la cima (Delphi)?
- 28. Mantener diálogos en la parte superior de la ventana, pero no en la parte superior de todo
- 29. ¿Cómo mantener mi ventana más alta en la parte superior?
- 30. Alineación flotante CSS en la parte superior
justo lo que estaba buscando. Gracias. – mithun1538
Pero hay un problema. ActionListeners ya no responde. Y también, el usuario puede cerrar el diálogo (hay una x en la esquina superior derecha del diálogo). ¿Hay algo que necesite restaurar después de que el usuario haya ingresado el nombre? – mithun1538
Si no desea que el usuario pueda cerrar el diálogo, utilice: dialog.setDefaultCloseOperation (...); – camickr