Pregunta

Mi aplicación Java no es muy grande, pero me gustaría hacerlo de la manera "correcta". En busca de sugerencias para no hacer un gran lío ...

Estoy usando Swing, el marco de aplicaciones de bases de datos y H2 Swing.

Es una aplicación de un solo cuadro con diferentes pestañas. La mayoría de las pestañas reflejarán algunos aspectos de los datos en la base de datos. Algunos de ellos será capaz de cambiarlo. Algunas de las fichas tendrán botones o acciones que redirigirá a otra pestaña ... que es básicamente la misma.

Me gustaría mantener las cosas limpias, más portátil y flexible (se puede habilitar bloquear algunas fichas, por ejemplo, o añadir un poco de facilidad).

Aquí están las preguntas:

1) ¿Cómo tener pestañas "refrescado" cuando cambia el contenido de la base de datos? Poner en práctica alguna de las interfaces de escucha? Debería definir esa interfaz o hay algo ya existente que pueda volver a utilizar?

2) ¿Cómo "enlace" de las diferentes pestañas al mismo tiempo por lo que es fácil saltar de una a otra (y puede que tenga que realizar algún argumento para configurar la ficha de destino hacia la derecha "vista")

3) Si fijo cierta preferencia con algunos filtros en otra parte de la aplicación, ¿cómo puedo compartir esos ajustes con toda la aplicación?

Y cuando me preguntan "cómo", me refiero a "¿cuál es la mejor manera" ... puedo conseguir que ya están trabajando ... simplemente buscando la herramienta adecuada para su uso, o patrón de diseño tales.

¿Fue útil?

Solución

Si se utiliza el swing, puede utilizar pestañas para tener un panel de tabla de diseño.

Implementar un oyente (como usted está planeando). Echar un vistazo a la interfaz observables en Java.

Se puede aplicar un producto único (por ejemplo, la clase PreferenceManager) para mantener la preferencia y acceder a ella a través de la aplicación acceder a las propiedades.

Otros consejos

Existen diferentes estrategias de construcción de aplicaciones GUI. Aquí algún artículo sobre.

¿De verdad quieres un modelo de inserción en el servidor tiene que mantener una conexión con cada cliente y luego actualizar a todos cuando algo cambia? Esto es factible con un puñado de clientes, pero rápidamente se convierte en problemático. Es probable que sea mejor utilizar un modelo de extracción, donde el cliente de forma manual (periódicamente?) Pregunta si hay actualizaciones. Esto también es una buena manera de utilizar el bloqueo optimista con un campo last_modified en el PP. Intentar una actualización, si se ha cambiado desde la última vez recargado, avisar al usuario y permitir que se sobreescriben / fusión.

En cuanto a la oscilación en general, la mejor práctica es factor de todo lo que no es GUI relacionados en clases básicas ( 'lógica de negocio') que el fuego fuera de los acontecimientos. Registrar todas sus clases Swing como el detector de eventos apropiado y actualizar la interfaz gráfica de usuario adecuada (SwingUtilities.invokeLater () es su amigo aquí).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top