Domanda

Sto scrivendo un'applicazione GUI che voglio usare swing e SWT. L'utente finale deve specificare in qualche modo che dovrebbe essere usato (non userà entrambi allo stesso tempo!). SWT è quello che preferisco in genere e ho cercato a JFace, ma sembra che se uso le sue caratteristiche più potenti che aumenterà l'accoppiamento tra l'interfaccia grafica e il modello, e rendere molto più difficile di astrarre l'interfaccia grafica in modo swing può essere utilizzato come bene.

E 'questo il caso? Si può usare JFace senza legare i dettagli GUI nel modello o viceversa?

È stato utile?

Soluzione

Per quello che so, utilizzando spettatori JFace ioffers abbastanza buona separazione di vista e il modello.

L'unico accoppiamento stretto qui è la scelta della realizzazione spettatore reale (per esempio usando TableViewer contro TreeViewer per vincolare il proprio modello sia una tabella o un widget Albero rispettosamente).

Per quanto riguarda la prima parte della domanda tat indica che si desidera, per qualche motivo per disaccoppiare l'applicazione da una scelta di framework GUI, vorrei suggerire di dare un'occhiata a UFace

progetto UFace si propone di fornire esattamente ciò che ti sembra di essere puntando - una singola implementazione dell'interfaccia utente che può funzionare contro molti backend GUI (si chiama Provider ):

pagina del progetto UFace al momento in cui scriviamo liste di supporto per le seguenti fornitori:

  • JFace / SWT
  • Altalena
  • GWT

(ho anche sentito voci di un po 'di lavori in corso per sostenere fornitore di Qt Jambi e)

Altri suggerimenti

Non è possibile passare in modo dinamico. JFace chiama SWT. Non può essere chiesto di chiamare AWT, invece.

Per quanto riguarda se le coppie JFace il modello per la GUI, beh, no. Ha una serie di interfacce di modelli, ma è possibile incollare qualsiasi modello che ti piace a loro. E 'a voi di fare questo in modo pulito se il cliente vuole la possibilità di strappare JFace un giorno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top