Aller au contenu

[Java] Swt or Swing, that is the question


lmarin

Messages recommandés

Bonjour tout le monde,

Je developes actuellement un client pour une gestion de médicament, et je vien a m'interroger sur la conception de mes conposants graphiques.

Me renseignant, je regardes du coté de SWT et de son JFace. Le peu de code swt qu'il m'as été donné de voir me semble un peu bazar ...

Aussi, j'aurasi voulu savoir si il etait a votre avis un bonne investissement de em lancer dans le SWT, et si oui ou trouver ddes infos pour programmer dans cette interface.

Merci a vous.

Lien vers le commentaire
Partager sur d’autres sites

C'est marrant, j'aurais dit le contraire : le code swing est sacré beau bordel :-D

En fait, swt à l'avantage d'être joli (ce que swing n'est pas, au moins jusqu'à la prochaine version). Par contre, swt n'est pas portable...

En terme de code, swing est une manière *très* spéciale de concevoir des IHM, qui peut être *très* déroutante les premières fois (notament la gestion des évenements - lourde à souhait, les layouts), mais avec le temps...

swt est plus habituel de ce côté là.

Maintenant, pour faire une interface pour un client de gestion de médicament, tu me dis si je me trompe, mais ça risque de beaucoup ressembler à des formulaires. Et pour les formulaire, il y a plein de d'outils de conception graphique (le VE d'eclipse, le GE de netbeans, jgoodies, et d'autres), et à mon avis, c'est ce qui te fera perdre le moins de temps...

Lien vers le commentaire
Partager sur d’autres sites

C'est marrant, j'aurais dit le contraire : le code swing est sacré beau bordel :-D

En fait, swt à l'avantage d'être joli (ce que swing n'est pas, au moins jusqu'à la prochaine version). Par contre, swt n'est pas portable...

En terme de code, swing est une manière *très* spéciale de concevoir des IHM, qui peut être *très* déroutante les premières fois (notament la gestion des évenements - lourde à souhait, les layouts), mais avec le temps...

swt est plus habituel de ce côté là.

Maintenant, pour faire une interface pour un client de gestion de médicament, tu me dis si je me trompe, mais ça risque de beaucoup ressembler à des formulaires. Et pour les formulaire, il y a plein de d'outils de conception graphique (le VE d'eclipse, le GE de netbeans, jgoodies, et d'autres), et à mon avis, c'est ce qui te fera perdre le moins de temps...

L'idée, c'est surtout que c'est de la programmation pour mon entreprise, mais aussi pour mes PTI ( épreuv de BTS ). La question vaut aussi bien pour ce projet, que pour ceux a venir.

Je me débrouilles un peu en Swing, et les exemples de codes, manipulations des ecouteurs etc ne manque pas... En revance pour Swt, .... je galére un peu... et du peu que j'ai vu, je suis un peu perdu.

Pour le pluging VE, j'arrives pas a le faire tourner, et puis bon, ... j'aime bien savoir ce que je code, et comment. ( C'est ca de vouloir approndre :keskidit: )

PS : pour le moment la seul chose complete que j'ai trouver c'est cette page http://www.jmdoudoux.fr/java/dej/chap015.htm

Lien vers le commentaire
Partager sur d’autres sites

J'ai ete chef de projet sur un gros projet d'interface graphique en Java. On a commence en Swing, et au milieu on a tout passe en SWT, donc je vois bien les avantages/inconvenients des deux mondes.

Swing:

Avantages:

- modele objet bien modulaire, on peut faire beaucoup de transformations modele/vue

- pas besoin de rajouter une librairie a la JRE pour deployer ca partout.

Desavantages

- pas beau, et le look and feel ne suit pas bien celui de l'OS. Le Look and feel a des gros bugs...par exemple, essayez en Swing d'implementer le drag and drop d'une selection de cellules dans une table. Ca ne marche pas, le seul moyen est d'aller trifouiller dans les classes de Look and Feel, et il faut le faire.

- gros problemes de lourdeur, pour les interfaces graphiques qui ont besoin de rafraichir souvent. Cela vient du fait que la plus grosse partie du travail se fait en Java, et

SWT:

Avantages:

- beau et tres rapide. Nous sommes passes de 100% du CPU utilises avec Swing a 5% avec SWT...et pourtant cote

optimisation de Swing on en connait un rayon. Personne ne croit que notre GUI est en Java.

- pas de mauvaise surprise sur les look and feel

Desavantages:

- moins de choses disponibles qu'en Swing. Par exemple quand vous avez besoin d'une combo box qui internationalise, il faut fabriquer une combobox qui accepte un modele...etc.

- il faut rajouter une DLL ou une librairie a la JRE, mais SWT marche tres bien sur la plupart des OS. Personnellement je considere que c'est tout aussi portable que Swing, puisque Swing lui aussi a besoin d'une librairie specifique pour chaque OS. Tout ce qui change c'est que Swing est deja integre a la JRE Java, SWT il faut coller la librairie soi-meme.

Lien vers le commentaire
Partager sur d’autres sites

Idem reponse precedente... Swing est portable, a de nombreux exemples mais c'est plus lent et plus restrictif que SWT.

Si tu veux juste une interface fonctionelle, SWING est le meilleur candidat. Si tu veux des effets avancés, il faut prendre SWT et mettre les mains dans du code "non objet".

A noter que SWING est de plus en plus rapide et de plus en plus joli. C'est flagrant sur le nouveau J2SE6: dans peu de temps, des langages de script comme F3 permettront de faire des IHM similaires a Flash.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...
Pardon pour mon ignorance, c'est quoi F3 :-D

Voici un petit résumé, j'ai pas envie de traduire, mais en tant que programmeur tu devrais pouvoir te débrouiller :

F3 (Form follows function) is an upcoming declarative User interface language (not XML based) developed by Chris Oliver, from Sun Microsystems.

F3 is a compiled statically typed declarative scripting language for the Java Platform providing automatic data-binding, full support for 2D graphics and standard Swing components as well as declarative animation. As F3 is built on top of the Java Platform, it is easy to use any Java classes in F3 scripts.

Frame {
  title: "Hello World F3"
  width: 200
  content: Label {
  text: "Hello World"
  }
  visible: true
}

Tu sais, google.ca et wikipedia.org sont de très bonnes sources d'infos :-D .

http://en.wikipedia.org/wiki/F3_%28language%29

Je connaissais pas et ça m'a l'air plutôt intéressant.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...