Me gustaría contrarrestar el argumento "no fácil de usar" con un ejemplo en el que acabo de involucrarme.
En nuestra aplicación tenemos una ventana principal donde los usuarios ejecutan varios 'programas' como pestañas separadas. En la medida de lo posible, hemos tratado de mantener nuestra aplicación en esta única ventana.
Uno de los 'programas' que ejecutan presenta una lista de informes generados por el sistema, y el usuario puede hacer clic en un icono en cada línea para abrir un cuadro de diálogo de visor de informes. Este visor muestra el equivalente de las páginas A4 verticales / horizontales del informe, por lo que a los usuarios les gusta que esta ventana sea bastante grande, casi llenando sus pantallas.
Hace unos meses comenzamos a recibir solicitudes de nuestros clientes para hacer que estas ventanas de visor de informes no fueran modales, para que pudieran tener múltiples informes abiertos al mismo tiempo.
Durante algún tiempo me resistí a esta solicitud, ya que no creía que fuera una buena solución. Sin embargo, mi opinión cambió cuando descubrí cómo los usuarios estaban evitando esta 'deficiencia' de nuestro sistema.
Estaban abriendo un visor, usando la función 'Guardar como' para guardar el informe como PDF en un directorio específico, usando Acrobat Reader para abrir el archivo PDF, y luego harían lo mismo con el siguiente informe. Tendrían múltiples lectores de Acrobat ejecutándose con los diversos resultados de informes que querían ver.
Entonces cedí e hice que el espectador no tuviera modo. Esto significa que cada visor tiene un icono de barra de tareas.
Cuando se les lanzó la última versión la semana pasada, la respuesta abrumadora de ellos es que les ENCANTA. Ha sido una de nuestras mejoras recientes más populares del sistema.
Así que sigue adelante y dile a tus usuarios que lo que quieren es malo, pero que en última instancia no te hará ningún favor.
ALGUNAS NOTAS:
- Parece ser una buena práctica usar JDialog para estas ventanas sin modo
- Use los constructores que usan el argumento nuevo en
ModalityType
lugar del modal
argumento booleano . Esto es lo que le da a estos cuadros de diálogo el icono de la barra de tareas.
- Para diálogos sin modo, pase un padre nulo al constructor, pero ubíquelos en relación con su ventana 'padre'.
- La versión 6 de Java en Windows tiene un error, lo que significa que su ventana principal puede estar 'siempre en la parte superior' sin que usted se lo diga. Actualice a la versión 7 para arreglar esto