Java et les fênetres

cronos6

Membre actif
30 Mai 2005
169
1
41
[REPRISE D'UN MP]

Posté par cronos6
--------------------


bonjour,

Comme tu as l'air d'être un amoureux d'exclipse, je me permet de te solliciter.

Etant programmeur, je me posais une question.
Quand j'étais sous windows, je trouvais assez difficile de développer une application en C++ si je voulais gérer des fenêtres car il fallait programmer celle-ci.
Lorsque l'on voulait développer de petite application sans ce casser la tête avec les fenetres (bouton, liste déroulante...), il fallait développer en VB (il suffisait de placer le bouton ou liste sur notre feuille est le tour était jouer).

Je voulais savoir si en Java c'était aussi compliquer qu'en c++, existe t-il des plugins pour créer facilement des fenêtres?

Ou alors si il faut tjrs programmer difficilement ces fenêtres, connaitrais tu un bon tutos pour la programmation de fenêtre (je sais pas si on dit comme ça :rose: )

Je pose toute ces questions car je suis jeune dans le monde de la programmation, et que mon chef de projet va me confier un projet sur un an à faire en java (à mon choix). Donc je voulais savoir si je devais opter pour le java (car pour ce projet, je devrais gérer des fenêtres).


J'espère que tu pourras m'eclairsire sur ce sujet


Posté par Molgow
----------------------
Hello,

Pour l'interface graphique en Java, tu as deux options principales :
- Swing (API de Sun)
- SWT (API de IBM)
La première a l'avantage d'être faite par Sun et d'être donc complétement multiplateforme, c'est à dire que partout où tu trouveras Java, tu auras Swing. L'autre est une API qui utilise plus profondément le système et elle est donc disponible seulement sur les systèmes qui l'ont implémenté (sur Windows, Mac, Linux, ça marche).
Pour ces 2 APIs, tu trouves des outils pour créer tes interfaces graphiques. Il existe par exemple le plug-in Eclipse Visual Editor. Le problème est qu'il ne fonctionne que sur Windows et Linux pour l'instant... :(
Sinon, sur Mac, il y a NetBeans, un autre IDE pour Java. Et il intégre un outil pour créer ses UI à la souris. Par contre, je le connais moins bien que celui d'Eclipse. Je sais trop pas ce qu'il vaut, mais il semble plutôt bon.
Note que de toute façon, ce genre d'outils ne génèrent jamais du code très bon ni très propre. J'ai pas mal l'habitude d'utiliser Eclipse (sur Linux) pour générer mes interfaces puis je rends le code un peu plus propre à la main. Mais ça fait tout de même gagner beaucoup de temps !

J'espère avoir pu répondre un peu à tes questions. Si ce n'est pas le cas, n'hésites pas à poser tes questions publiquement sur le forum, c'est fait pour ça ! ;)

A+,

Molgow
 
en ce qui concerne ce que tu m'as dit, si j'ai bien compris :

- pour faire une appli avec des fenêtre, je dois obligatoirement mettre une des API que tu as cité (eclipse n'en fourni pas?)

- pour simplifier la création, il faut ajouter à l'API un IDE (eclipse n'en fourni pas?).

- finallement, comme je développe sur mac (voir sur windows), quel API et quel IDE me conseilles tu pour commencer
 
Pour afficher une fenêtre à l'écran, il faut du code Java qui en gros va faire: MaClasseDeFenetre myWnd = new MaClasseDeFenetre(); et myWnd.show(); où ma MaClasseDeFenetre sera une dérivée d'une des classes:
  • FenetreSwing
  • FenetreSWT
(je schématise)

Donc, le choix Swing ou SWT est crucial et se fait au début du projet.

Les IDE ne te servent qu'à gérer ton environnement de développement (classes, compilation...). Dans certains cas, ils proposent des outils graphiques pour t'aider à construire tes interfaces. Quoiqu'il en soit, en Java, les seuls sources sont tes classes Java.

Quel que soit ton choix, pour livrer ton appli, il faut que tu livres l'api sur laquelle ton projet est basé. Si c'est Swing, pas de soucis, ça fait parti du JRE. Si c'est SWT, il faut adjoindre les .jar ad-hoc.


Pour commencer, je conseillerai Eclipse comme IDE et Swing pour l'api. Je n'aime pas beaucoup personnellement les outils graphiques et ils ne contribuent pas à la maîtrise du code, ce qui est primordial à mon avis.

Pour utiliser Swing, jette un coup d'oeuil aux excellents tutoriaux de Sun.
Dès que tu souhaites avoir des éclaircicements sur comment utiliser un JButton par exemple, fais un google: "How to use JButton", et on tombe vite sur les tutos de Sun !

Et puis tu as toujours les forums de MacGé :)
 
Non, par défaut, Eclipse ne contient pas d'éditeur graphique.

Quoiqu'il en soit, c'est très différent de Visual Basic: les outils graphiques sont juste des aides à la création de code.

Au risque de me répéter, rien ne vaut le codate à la main pour apprendre (mauvais esprits s'abstenir :D). Et tu verras que par la suite, tu préfereras tout faire ainsi.