Finalement je me suis mis à java pour apprendre la programmation objet, faut dire que je suis dans le même bureau que des collègues java et que mon meilleur formateur est Claude Delannoy chez Eyrolles qui ne fait pas de livre sur dot net. Et pis c’est comme ça, na
J’ai installé eclipse et même si je vais faire mes premières fenêtres à la main pour apprendre, ça peut devenir vite lassant de programmer en aveugle.
Quelle est le meilleur plugin GUI swing pour eclipse? C’est à dire :
le plus utilisé,
le plus ergonomique,
mais aussi qui ne soit pas trop verbeux et qui ne genère qu’uniquement le code nécessaire.
Sinon c’est bien swing la bibliothèque graphique la plus utilisée ? En tout cas transversalement entre windows et unix ?
Sinon à part ça quels sont les autres plugin les plus utilisés dans eclipse ?
Moi je ne connaissais eclipse qu’uniquement comme IDE de base, mais je m’aperçois que finalement ce n’est pas loin de faire le café avec les plugins !!! J’ai cru entendre parler de plugin d’UML !! J’ai même testé un ETL (un programme qui sert de l’IDE pour s’exécuter et non développer)!!
nom du plugin, à quoi il sert (svp )?
ha pour finir un question de newbie de base. A part utiliser java -jar mon_fichier.jar ou faire une association sous windows, est-ce qu’il existe un moyen de fusionner le runtime avec le jar ? Autrement dit faire un exécutable bien qu’évidemment je suis consciens que la JRE restera nécessaire. J’ai vu cela pour AnalyseSI et JAlbum.
Merci d’avance
edit: mes bases de programmation sont Pascal et Delphi. J’ai des notions legères de C.
Oui, c’est SWING qui est le plus utilisé. Pour Eclipse je ne connais pas les pluggings, mais tu peux installer NetBeans (java-sun.com, un truc du genre hein) qui est gratuit et qui fournit un outils de developpement d’UI apparement très simple d’utilisation. Il y a des tutos sur le net qui trainent. Sinon dans le meme genre, assez complet y a la suite Together Control Center de Borland qui te permet de créer des diagrammes de classe, des UI,… et qui génère le code tout seul, mais il est payant je crois.
Bon, vive eclipse, rien à dire, c’est le meilleur choix possible pour un IDE java.
Personnellement, je ne me suis jamais aventuré à installer de plugins, je suis plutot adepte du tout fait à la main.
Pour swing, c’est la même chose, tout est dessiné et placé par code.
Oui, c’est chiant, et pas forcément simple, mais ca permet de vraiment bien savoir ce que l’on fait. Je ne sais pas ce que genere comme code les pugins, mais quand on voit la complexité que peut atteindre une interface relativement simple, j’ai peur que le code soit degueu ou meme qu’on ne puisse pas faire tout ce que l’on veut , sans avoir à retoucher soit meme ( et dans ce cas-là, ça ne sert pas à grand chose ).
Je pense que pour se faire vraiment la main sur Swing, il faut passer outre la facilité des plugins ( tout du moins au départ ). C’est mon petit conseil à la con.
Pour répondre à ta question, oui swing est utilisé partout, c’est un composant dit leger car il ne s’appuie pas sur l’OS de la machine ( contrairement à AWT qui est dit lourd ). Attention, ça n’a aucun rapport avec les perfs, ça serait meme plutot le contraire, à mon humble avis.
Pour la question de transformer un jar en executable, je t’avoue que je ne me suis pas vraiment posé la question… Il est possible ( d’apres ce que je sais ) de reelement compiler comme à l’ancien temps un fichier, de se passer de la compilation JIT ( et donc de la machine virtuelle, enfin je crois ) mais on perdrait un peu l’interet de java ( ou .Net selon la religion ). Néanmoins ça m’interesse de connaitre la réponse !
Bon ben moi ca fait 2 ans que j’utilise eclipse à l’école et comme plugins GUI on utilise emf, ve et gef ca te permet de faire toute ton interface graphiquement en faisant du bete drag and drop, en redimensionnant comme tu vx etc… Evidemment ca te genere le code automatiquement reste plus qu a gerer les actions de ton interface.
Tout ca se telecharge ici:www.eclipse.org/tools/
Amuse toi bien et programme- nous de beaux ptits programmes
[quote=“Nicjac, post:6, topic: 27096”]Personnellement j’aime vraiment bien Netbeans 5 (en RC là). Ca fait des années que j’ai pas touché à Eclipse, quels avantages par rapport à Netbeans ?[/quote]Bonne question. C’est aussi ergonomique que Eclipse et surtout est-ce qu’il y a autant de plugins, ou, en d’autres termes, une communauté aussi active ? Moi je n’ai pas de préférence, je vois simplement que dans ma boite quasiment tout le monde utilise cela, c’est pour cela qu’il y a de grandes chances que je reste sur eclipse.
J’ai vu une démo de NetBeans 5 avec Matisse qui est un designer d’interface graphique qui a l’air vraiment sympa et puissant. Donc ça peut appporter déjà ça. Maintenant, si tout le monde dans ta boite utilise Eclipse, je pense que c’est quand même un excellent IDE pour Java (et pleins d’autres trucs, je crois qu’on peut développer un peu en tout avec les bons plugins) et puisqu’il semble y avoir un plugin pour dessiner des interfaces graphiques…
Il est parfaitement possible de transformer un jar en exécutable, il suffit de demander gentiment à Eclipse de le faire en lui désignant la classe contenant la fonction main() lors de la génération du .jar. Enfin, je ne suis plus très sûr, ça fait assez longtemps que j’ai pas fait de jar exécutable. Mais en tous cas, c’est parfaitement faisable et après miracle, il suffit de double cliquer dessus sous Windows pour lancer le bousin.
Bon j’ai fait mes premiers petits programmes et essayé de comprendre la notion d’obet et d’héritage en faisant diverses essais pratiques.
Eclipse est vraiment pratique et vu le peu de temps que je l’utilise: ergonomique sans avoir trop plein de menus. J’ai installé les plugin graphique.
Ma nouvelle question est plus java que eclipse. Je n’arrive pas à compiler les *.java web.
J’ai installé Tomcat et le HelloWorld de TOMCAT fonctionne. Par contre quand je supprime sa classe (en fait je la renomme .old) je n’arrive plus à la recompiler car HelloWorldExample.java:23: package javax.servlet does not exist
import javax.servlet.*;
^C’est donc que javac n’arrive pas à trouver le jar qui va bien.
et pourtant voici un extrait de variables d’environnmentCLASSPATH=C:\Program Files\Java\jdk1.5.0_06\jre\lib
JAVA_HOME=C:\Program Files\Java\jdk1.5.0_06
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Java\jdk1.5.0_06\bin;C:\Program Files\Java\jre1.5.0_06\lib;C:\Sun\jwsdp-2.0\jwsdp-shared\bin
TOMCAT_HOME=C:\Program Files\Apache Software Foundation\Tomcat 5.5 En fait quand j’ai le JDK et le JRE je me mélange les pinceaux: Le JAVA_HOME c’est celui que j’ai indiqué (JDK) ou celui du JRE ?
J’ai essayé la ruse de sioux de recopier les jar de TOMCAT dans le lib de la JRE et/ou dans celle de la JRE du JDK rien n’y fait. (Et finalement celui-là (C:\Sun\jwsdp-2.0\jwsdp-shared\bin) il me sert à rien puisque tout ce dont j’avais besoin de javax était dans TOMCAT?)
Même question que le JAVA_HOME, le CLASSPATH il doit pointer sur la lib du JDK (voir mon CLASSPATH) ou dans la lib correspondant au JRE ?
Une autre question plus ecplise, comment fait-on pour pouvoir compiler sans exécuter ? ça serait aussi utile pour compiler pour les dév web
edit: même question pour CATALINA_HOME, qu’est-ce que j’y mets ?
Sinon <form action = http://localhost:8080/TestJsp/toto method=“GET”> ça appelle la classe toto.class ? En fait j’ai essayé un exemple en remplaçant toto par toto.jsp, et donc ça marchait mais ce n’était pas en fait le vrai problème, c’est surtout que toto.class n’arrivait pas à être généré à cause des soucis expliqués plus haut.
Tu as associé le jar à ton projet dans eclipse ?
A priori je m’orienterai vers un probleme de ce genre.
En modifiant les propriétés du projet tu devrais pouvoir associer le jar sans trop de difficultés.
( sinon oui les questions de classpath ça peut etre tres chiant )
( et je m’excuse d’avance si ça ne resout pas le probleme, honte sur moi de surcroit, java va etre mon gagne pain )
Edit : j’ai oublié la moitié des questions.
Dans eclipse, une option te permet de compiler quand tu sauvegardes automatiquement. Je bosse sous WSAD et le raccourci de compilation est CTRL+B. Je pense que ca devrait etre la meme chose sous eclipse 3. ( WSAD est un des IDE d’ibm pour websphere , basé sur eclipse 2 )
J’ai regardé un utilitaire java que j’avais installé au bureau. En fait semble-t-il dans le CLASSPATH il ne faut pas mettre un chemin de répertoire mais le chemin de tools.jar. J’ai donc fait un recherche sur google sur “tools.jar” et je suis tombé là dessus :
Il faut que tu mettes servletapi-2.4.jar dans ton classpath (Project properties -> Java build path -> Libraries -> Add external jar). Tu peux soit le choper dans ton tomcat (server/lib surement soit sur Ibiblio.
En revanche, tu dois te servir de ce jar UNIQUEMENT pour compiler ! Ne le mets pas dans ton war, car au runtime c’est le serveur d’application qui fournit l’implémentation des servlets (et donc les classes javax.servlet.*).
Et effectivement, le classloading Java c’est chiant (surtout avec les serveurs d’applications), tu peux toujours jeter un coup d’oeil ici. Tu capteras ptet pas tout, mais c’est juste pour que tu comprennes grosso modo le principe : le classloading est hiérarchique et il faut bien choisir qui charge quoi (classe juste pour mon appli ? pour toutes mes applis ? pour toutes mes applis + le serveur ?)
Alors la je ne suis pas trop d’accord.
Swing est basé sur AWT et n’utilise aucune instruction de l’OS, il repart de l’opération de base : afficher un pixel. Du coup, le dessin des fenêtres, le déplacement des fenêtres, les controles … est géré en Java par Swing. C’est très portable mais aussi plus lent (même s’ils ont fait des progrès dernièrement, il suffit d’utiliser netbeans entièrement fait en Swing pour voir que ca réagit pas au quart de seconde)
SWT l’autre API graphique Java a une autre approche. Reprendre les APIS haut niveau de l’OS pour afficher tous les contrôles élémentaires : c’est moins portable mais aussi nettement plus rapide (Eclipse est fait en SWT). En revanche l’API SWT est nettement moins matûre (en terme d’ouverture, documentation … pas stabilité) car elle a été développée par IBM pour créer Eclipse (tandis que AWT / Swing ont été développés dans le but d’etre des APIs de référence).
En résumé (même si ca me fait mal au cul de le dire) : en Java pour faire de l’IHM c’est encore la merde (qd on compare à ce qui se fait en .Net). Tu as deux choix :
tu pars en Swing : c’est portable, un peu lent, souvent laid, et toujours très complexe. Si malgré tout tu pars la dessus, je te conseille de regarder JGoodies qui contient qq composants et un layout ultime.
tu utilises EclipseRCP : c’est basé sur SWT, ca permet de créer qqchose d’aussi joli qu’eclipse et c’est qd meme plus haut niveau que Swing. En revanche ca oriente pas mal la facon dont tu vas faire ton IHM (ca aura qd meme plus ou moins une gueule d’éclipse, dans la facon dont sont dockées les fenêtres …) ; il est certain que l’on est plus libre en Swing.
[quote=« viewww, post:13, topic: 27096 »]Alors la je ne suis pas trop d’accord.
(…)
Voilà, my 2 cents :P[/quote]
Bon bah oui faut ecouter le monsieur, il sait de quoi il parle
Je me suis peut etre mal exprimé, ou on ne s’est pas bien compris, je voulais dire que le terme employé pour Swing est « composant leger ». C’est le terme employé pour signifier qu’il ne s’appuie pas sur l’os.
Et en disant que cela n’avait rien à voir avec les perfs, plutot l’inverse, je voulait vraiment appuyer le fait que Swing, s’appuyant sur Java pour redessiner, etait forcement moins performant.
Oui je sais, j’aurai pu etre plus clair, mais ca ne serait pas drole sinon !
Regarde ici, section déployer. Par exemple Launch4J. Personnellement, je ne l’ai jamais utilisé, mais il me semble qu’il n’est pas trop mal pour faire ça.
Sinon, Eclipse c’est trop de la balle. Mais de mon côté, si je dois développer une application avec une GUI complexe, je me tournerais plutôt vers NetBeans (parce que coder les GUI à la main, c’est sympa 5 minutes…).
[quote=“rorotaz, post:15, topic: 27096”]Regarde ici, section déployer. Par exemple Launch4J. Personnellement, je ne l’ai jamais utilisé, mais il me semble qu’il n’est pas trop mal pour faire ça.[/quote] merci[quote=“rorotaz, post:15, topic: 27096”]Sinon, Eclipse c’est trop de la balle. Mais de mon côté, si je dois développer une application avec une GUI complexe, je me tournerais plutôt vers NetBeans (parce que coder les GUI à la main, c’est sympa 5 minutes…).[/quote]Mais un projet fait sur Eclipse peut fonctionner tel quel sur NetBeans et inversement ? (à part indiquer le bon chemin des libs nécessaires).
Sinon par google je suis tombé la dessus pour parametrer le java.ext.dir sans avoir à le taper à chaque fois quand c’est en ligne de commande:
set _JAVA_OPTIONS=-Djava.ext.dir=$jahelper_home/lib$jah_extdir par contre je ne sais pas si je peux mettre plusieurs directory
[quote=« Bussiere, post:17, topic: 27096 »]putain par contre j’ai oublié quelqu’un saurait me dire comment on renomme :
un projet, un package un fichier.java dans eclipse svp ?
chtite question encore (fait un an que j’y ai plus touché a eclipse ca se sent)
j’ai deux projet un Serveur et un XmlParser
chacun avec un package (serveur et xmlparser)
comment je fais un import du xmlparser dans serveur
parce que
import xmlparser; me donne une erreur
et import XmlParser.xmlparser; aussi