OVH Cloud OVH Cloud

Dessiner une belle interface ?

18 réponses
Avatar
Julien
Bonjour à tous,
J'ai une interface java pour mon appli en tête, mais j'angoisse à l'idée de
la développer avec eclipse...
Auriez vous un bon AGL à me conseiller pour la dessiner ?
J'ai besoin de JTree, de tirroirs, de canvas2D, 3D, de barres d'outils...

Merci, Julien

10 réponses

1 2
Avatar
BJB
Bonjour,
Je cherche toujours un remplacent à JBuilder qui reste le seul outil RAD
viable selon moi ;-) Il reste plus particulièrement recommandé pour ceux
venant de VB ou Delphi afin de faciliter la transition à Java.

Ensuite, le tout est d'avoir une bonne compréhension des contraintes
liées à l'ergonomie :

http://java.sun.com/products/jlf/ed1/guidelines.html
http://developer.apple.com/documentation/MacOSX/Conceptual/AppleSWDesign/AppleSWDesign.pdf

Car avec Swing et Java2D, peu de limites, mais faire des donnes
interfaces grephiques demande toujours un peu de soin:
http://demo.zvalley.com/launch/
http://www.jgoodies.com/

Enfin, il faut disposer d'une compréhension sans faille des "layouts" et
une compréhension générale des méchanismes de rendu (surtout si tu
compte mélanger 2D et 3D).

A+
JB

Julien wrote:
Bonjour à tous,
J'ai une interface java pour mon appli en tête, mais j'angoisse à l'idée de
la développer avec eclipse...
Auriez vous un bon AGL à me conseiller pour la dessiner ?
J'ai besoin de JTree, de tirroirs, de canvas2D, 3D, de barres d'outils...

Merci, Julien


Avatar
barilla
Enfin, il faut disposer d'une compréhension sans faille des "layouts" et
une compréhension générale des méchanismes de rendu (surtout si tu
compte mélanger 2D et 3D).


c'est pour ca (a mon avis) qu'en java rien ne vaut d'ecrire ses
interfaces a la main.
tous les elements vont bouger d'un OS a l'autre, donc
il faut savoir exactement ce que l'on fait et comment ca va etre
rendu. positionner ses elements a la pixel pres dans un
editeur d'interfaces ne marche pas en java.

paul.

Avatar
noone
il faut savoir exactement ce que l'on fait et comment ca va etre
rendu. positionner ses elements a la pixel pres dans un
editeur d'interfaces ne marche pas en java.



Bonjour,

positionner ses elements au pixel près est effectivement une erreur.

Par contre utiliser des containers, layout n'empêche pas d'utiliser un
éditeur d'interface.

En C++ il y a par exemple Glade (pour GTKmm) et wxGlade pour wxWidgets.
Et c'est assez intuitif tout en respectant les concepts de containers.

Cordialement

Avatar
b.vl
Bonjour à tous,
J'ai une interface java pour mon appli en tête, mais j'angoisse à l'idée de
la développer avec eclipse...
Auriez vous un bon AGL à me conseiller pour la dessiner ?
J'ai besoin de JTree, de tirroirs, de canvas2D, 3D, de barres d'outils...

Merci, Julien




Il y a également une autre orientation, plus 'tendance' c'est de décrire
les interfaces à l'aide de fichiers xml, comme par exemple avec la
librairie thinlet http://www.thinlet.com/ il y en a d'autrese également.
Firefox est écrit avec ce type de technologie.

Avatar
Julien
Merci pour tous ces bons conseils, je constate avec désolation, qu'il n'y a
pas de solution simple.
Avec Visual studio (pour ne citer ke lui) on ne place pas ces composants au
pixels, tout est agancé selon les contraintes et il est très aisé de faire
des choses très belles !
Ceci dit, me replonger dans les layouts, ça me donne envie de vomiiiir !

Merci à tous, je vais étudier vos conseils.

Julien


"Julien" a écrit dans le message de news:
4238a27e$0$820$
Bonjour à tous,
J'ai une interface java pour mon appli en tête, mais j'angoisse à l'idée
de la développer avec eclipse...
Auriez vous un bon AGL à me conseiller pour la dessiner ?
J'ai besoin de JTree, de tirroirs, de canvas2D, 3D, de barres d'outils...

Merci, Julien



Avatar
BJB
Julien wrote:
Merci pour tous ces bons conseils, je constate avec désolation, qu'il n'y a
pas de solution simple.
Avec Visual studio (pour ne citer ke lui) on ne place pas ces composants au
pixels, tout est agancé selon les contraintes et il est très aisé de faire
des choses très belles !
Ceci dit, me replonger dans les layouts, ça me donne envie de vomiiiir !

Merci à tous, je vais étudier vos conseils.

Julien


Les layouts te donnent envie de vomir, étrange :))

Que je sache, mise à part le "null layout" aucun autre layout en Java ne
demande de positioner les composants aux pixels près et tous utilises
des contraintes. Mais si je parlais de "compréhension sans faille",
c'est qu'il y a plusieurs layouts en Java et que chacun à son propre
domaine d'excélence , son propre comportement et il en resulte des
contraintes à appliquer aux composants différents.

Par exemple, on commence souvent par un border layout, et une zone de
formulaire utilise un gridbag.

Si tu utilises un vrai outil RAD, il te proposera visuellement en
glissant les composants de construire l'interface telle qu'elle
apparaitra. De plus, la personalisation des contraintes permetra
simplement de voir les résultats en direct, tout comme un Delphi ou un
VB le ferait, mais avec beaucoup plus de souplesse face aux problèmes
d'I18N.

Il est vrai que VS propose souvent beaucoup plus de choses automatiques
par défaut que d'autres environment, mais dès que tu souhaites aller au
delà, il te faut en général reprendre le controle intégral de ton code,
car tu viens de toucher à la limite de l'outil.

Pour moi, concepteur visuel bidirectionel ne doit jamais signifier boite
noire de code généré ;-)

A+
JB

Avatar
ownowl
Julien wrote:
Bonjour à tous,
J'ai une interface java pour mon appli en tête, mais j'angoisse à l'idée de
la développer avec eclipse...
Auriez vous un bon AGL à me conseiller pour la dessiner ?
J'ai besoin de JTree, de tirroirs, de canvas2D, 3D, de barres d'outils...

Merci, Julien


Eclipse et le plugins VEP (visual editor project) permet de faire des

interfaces intérressantes avec un code assez propre

Olivier

Avatar
BJB
c'est pour ca (a mon avis) qu'en java rien ne vaut d'ecrire ses
interfaces a la main.


Je ne suis pas d'accord avec ce point,
si tu utilises un IDE dont la partie concepteur visuelle n'est pas
capable de te générer du code Swing propre et dont tu as le contrôle
total, alors c'est que cet IDE n'est pas à la hauteur coté client et il
faut en utiliser un autre pour cette tache.

Au passage, je reste interloqué sur l'incapacité d'eclipse à fournir un
tel concepteur ;-)

Un petit lien vers le JDNC qui se propose de facilité la création de
client riches en swing interragissant avec un coté serveur J2EE,
https://jdnc.dev.java.net/

Avatar
Kupee
BJB wrote:
Je ne suis pas d'accord avec ce point,
si tu utilises un IDE dont la partie concepteur visuelle n'est pas
capable de te générer du code Swing propre et dont tu as le contrôle
total, alors c'est que cet IDE n'est pas à la hauteur coté client et il
faut en utiliser un autre pour cette tache.


Pour les IHM Intellij Idea a trouvé une méthode assez originale : il te
place les composants, et toi tu n'as qu'a faire comme s'ils avaient été
instantiés, mais tu ne vois jamais le code généré, il est injecté lors
de la compilation (sauf si tu spécifie explicitement que tu veux voir ce
code, mais bon ca n'a aucun intéret)

Avatar
barilla
BJB wrote:
c'est pour ca (a mon avis) qu'en java rien ne vaut d'ecrire ses
interfaces a la main.



Je ne suis pas d'accord avec ce point,
si tu utilises un IDE dont la partie concepteur visuelle n'est pas
capable de te générer du code Swing propre et dont tu as le contrôle
total, alors c'est que cet IDE n'est pas à la hauteur coté client et il
faut en utiliser un autre pour cette tache.

Au passage, je reste interloqué sur l'incapacité d'eclipse à fournir un
tel concepteur ;-)


il y a un module d'eclipse (ve je crois ?), j'ai pas teste.

pas si etonnant, perso j'ecris des logiciels client-serveur ;
ecrire le client swing a la main ne me derange pas du tout,
par contre j'apprecie eclipse pour l'ecriture du cote serveur.
et je souhaite que la priorite reste sur l'integration de java5,
des concepts d'architecture ...

Un petit lien vers le JDNC qui se propose de facilité la création de
client riches en swing interragissant avec un coté serveur J2EE,
https://jdnc.dev.java.net/



1 2