Pregunta

Estoy escribiendo una aplicación de interfaz gráfica de usuario que desea utilizar Swing y SWT. El usuario final se especifique de alguna manera que se debe utilizar (no va a utilizar ambos al mismo tiempo!). SWT es lo que prefiero en general y he estado buscando en JFace, pero parece que si utilizo sus características más potentes voy a aumentar el acoplamiento entre la GUI y el modelo y hacer que sea mucho más difícil para abstraer la interfaz gráfica de usuario de modo oscilación puede ser utilizado también.

Es este el caso? Se puede utilizar JFace sin atar detalles GUI en el modelo o viceversa?

¿Fue útil?

Solución

Por lo que sé, el uso de los espectadores JFace ioffers bastante buena separación de vista y el modelo.

El único acoplamiento ajustado aquí es la elección de la aplicación espectador real (por ejemplo, utilizando TableViewer frente TreeViewer de obligar a su modelo para una tabla o un árbol widget de respeto).

En cuanto a la primera parte de la pregunta tat indica que desea por alguna razón para desacoplar la aplicación desde una elección del marco interfaz gráfica de usuario, le sugiero que eche un vistazo a proyecto UFace

proyectos UFace objetivos para proporcionar exactamente lo que parece estar apuntando a - una sola aplicación de interfaz de usuario que puede funcionar en contra de muchas backends interfaz gráfica de usuario (que llama Proveedores ):

página del proyecto UFace en el momento de escribir estas líneas listas de soporte para los siguientes proveedores:

  • JFace / SWT
  • Oscilación
  • GWT

(También he oído rumores de algún trabajo que se realiza en el apoyo proveedor de Qt Jambi también)

Otros consejos

No se puede cambiar dinámicamente. JFace llama SWT. No se le puede pedir a llamar AWT en su lugar.

En cuanto a si las parejas JFace el modelo a la GUI, así, no. Tiene un conjunto de interfaces de modelo, pero se puede pegar cualquier modelo que te gusta a ellos. Es hasta usted para hacer esto limpiamente si su cliente desea la opción de arrancar JFace algún día.

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