Les meilleurs cours et tutoriels pour apprendre JAVA
Les meilleurs cours et tutoriels pour apprendre JAVA
Sélection des meilleurs tutoriels et cours de formation gratuits pour apprendre la programmation Java. Vous trouverez les meilleures méthodes éducatives pour une formation agréable et complète, ainsi que des exercices intéressants, voire ludiques, vous pouvez aussi trouver des exercices offerts en sus des cours pour perfectionner votre niveau et acquérir de l'expérience. Si vous avez besoin, n'hésitez pas aussi à vous référer à la FAQ Java et à poser vos questions sur les forums d'entraide Java.
Un espace de dialogue vous est proposé sur le forum si vous avez des remarques concernant cette page cours Java : 2 commentaires .
Page lue fois.
Nombre d´auteurs : 287, nombre de traducteurs : 2, nombre d´articles : 72, dernière mise à jour : 25 novembre 2023
-
Java 21 me fait à nouveau aimer Java, il présente quelques points forts, notamment la prise en charge des motifs d'enregistrement
par Raghav ShankarJava 21 est déjà disponible et prend en charge les motifs d'enregistrement dans les blocs de commutation et les expressions. Une telle syntaxe est monumentale (du moins, au pays de Java). Elle marque le point où Java pourrait être considéré comme supportant correctement les modèles de programmation fonctionnelle de manière similaire à Kotlin, Rust, ou C#.Création : 7 novembre 2023 -
Une sélection des meilleurs tutoriels et cours de formation gratuits pour apprendre la programmation Java. Vous trouverez les meilleures méthodes éducatives pour une formation agréable et complète, ainsi que des exercices intéressants, voire ludiques, vous pouvez aussi trouver des exercices offerts en sus des cours pour perfectionner votre niveau et acquérir de l'expérience. Si vous avez besoin, n'hésitez pas aussi à vous référer à la FAQ Java et à poser vos questions sur les forums d'entraide Java. -
Programmation Java pour les enfants, les parents et les grands-parents
par Yakov Fain, Vincent Lataye, Maxime DanielCe livre électronique est destiné aux enfants de 11 à 18 ans, aux professeurs enseignant l'informatique à l'école ou tout autre débutant en Java.
Il est idéal pour les parents qui veulent faire découvrir à leur enfant le monde de la programmation des ordinateurs - le vrai, pas un succédané pour le lecteur pressé et distrait.
Il peut aussi être très utile aux étudiants qui recherchent un complément abordable aux cours exhaustifs et compliqués.
Pour résumer, ce livre est assez facile d'accès pour convenir aux débutants de tous âges. -
Corrections des exercices du livre « Java pour les enfants, les parents et les grands-parents »
par Laurent BernabéLe livre Programmation Java pour les enfants, les parents et les grands-parentsProgrammation Java pour les enfants, les parents et les grands-parents propose de nombreux exercices, mais aucune correction n'était disponible. C'est donc le but de cet article. -
Apprenez à programmer en Java avec ce tutoriel qui se propose de fournir des informations pratiques sur le développement en Java.
Sommaire : Développons en Java
Partie 1 : Les bases du langage Java
Partie 2 : Développement des interfaces graphiques
Partie 3 : Les API avancées
Partie 4 : L'utilisation de documents XML et JSON
Partie 5 : L'accès aux bases de données
Partie 6 : La machine virtuelle Java (JVM)
Partie 7 : Développement d'applications d'entreprises
Partie 8 : Le développement d'applications web
Partie 9 : Le développement d'applications RIA / RDA
Partie 10 : Le développement d'applications avec Spring
Partie 11 : Les outils pour le développement
Partie 12 : Concevoir et développer des applications
Partie 13 : Les tests automatisés
Partie 14 : Java et le monde informatique
Partie 15 : Développement d'applications mobiles
Partie 16 : Annexes -
Excellent et célèbre cours « Comment penser en Java » 2e édition. Cours très complet avec exercices et nombreux codes source. Descriptions plus approfondies que les descriptions de l'aide du JDK d'Oracle. Cours à télécharger. -
Vous trouverez, dans les documents qui suivent, un ensemble de tutoriels sous formes de vidéos qui vous permettront d'apprendre la programmation Java à partir des bases. Au fur et à mesure des tutoriels, le niveaux des exemples de code proposés augmentera afin de vous aider à maîtriser les différents aspects de ce fantastique langage de programmation orienté objet. -
Apprendre à utiliser Jib pour construire des images Docker avec le langage Java et Maven
par Olivier LevittC'est tout nouveau, c'est tout frais, Google vient d'annoncer et de publier Jib, un outil pour « Build Java Docker images better ». Nous vous proposons dans cet article de découvrir cet outil Jib. -
Tutoriel pour comprendre plus facilement les NullPointerExceptions avec la JEP 358 (Nouveauté Java 14)
par Lilian BENOITCet article présente la JDK Enhancement Proposal (JEP) 358 (Helpful NullPointerExceptions) qui propose de gérer plus efficacement le NullPointerException.Commentez Création : 1er décembre 2020
Sommaire
-
Cet article montre comment construire un système pour afficher et déplacer des figures en Java, en utilisant Java2D. -
Java SE 6 offre une version totalement refaite de la classe SwingWorker. Cette classe permet de faciliter les interactions entre un thread utilisateur et l'EventDispatchThread. Pour utiliser la classe SwingWorker, il faut tout d'abord comprendre les problèmes et les motivations d'une telle abstraction. Ce tutoriel va tenter d'expliquer le but de cette classe, et de présenter un exemple d'utilisation. -
Ce tutoriel a pour objectif de vous présenter la classe java.beans.EventHandler qui permet de simplifier la création de listeners en Java. -
Sacré client ! Léger, riche, lourd, on lui confère toutes les caractéristiques. Si l'on voit tout à fait ce que peuvent signifier léger et lourd, on a du mal à mettre une définition claire sur le terme client riche. L'objectif de cet article est dans un premier temps d'essayer de définir plus précisément ce terme. On verra notamment qu'il n'est pas associé à un produit en particulier, mais il définit plus une famille de technologies qui essayent d'apporter d'autres solutions au langage HTML qui n'est plus forcement très adapté aux besoins d'aujourd'hui ! -
Depuis quelque temps, des technologies dites riches sont apparues. Elles permettent entre autres de développer des clients riches, des interfaces plus ergonomiques et de faciliter l'utilisabilité des applications. Voici un bref comparatif sur certaines de ces technologies pour vous y permettre d'y voir plus clair. -
MVC est un design pattern très puissant, mais néanmoins assez complexe, qui permet de bien structurer de grosses applications graphiques. Nous allons apprendre à le maîtriser avec ce tutoriel. -
Apprenez comment améliorer le rendu graphique de JavaHelp. -
Cet article va vous expliquer comment bien intégrer votre application au système. Vous apprendrez à utiliser les applications par défaut et comment mettre une icône dans la barre de notification. -
JGraphX est une API qui permet de dessiner des graphes dans une application Java. Le principal reproche qui est fait contre cette API est le manque de documentation. Ce tutoriel va vous apporter les bases pour prendre en main cette API. -
Cet article explique comment construire un java.awt.Paint. -
Ce onzième chapitre porte sur le graphisme et Java2D.
Le premier exercice propose de dessiner un histogramme. Le deuxième exercice montre l'utilisation du JColorChooser. Le troisième exercice illustre les différentes formes de base que l'on peut dessiner et le quatrième exercice concerne les styles de formes. Le sixième exercice a pour but de dessiner des formes ovales de différentes tailles et de différentes couleurs à intervalle de temps régulier. Et, le septième exercice est une implémentation d'un labyrinthe en version graphique.
-
Ce petit article s'intéresse à la génération de QR codes en Java. Nous allons voir qu'il est relativement simple de créer une matrice de modules à l'aide de Zxing puis d'en faire une jolie image avec Java 2D. -
Actuellement il n'existe aucune API pour faire de la 3D dans le JDK officiel. Cependant il existe plusieurs projets qui comblent ce manque. Certains projets sont développés par Oracle. -
Dans cette partie, nous allons voir en particulier quels sont les outils dont nous disposons plus créer des objets 3D plus ou moins complexes. -
Dans ce second chapitre, nous allons aborder les bases d'une application 3D, c'est-à-dire le repère 3D, le modèle graphe de scène propre à Java 3D ainsi que l'étude de classes utilitaires que nous utiliserons tout au long de cette partie consacrée à Java 3D. -
Dans ce chapitre nous allons faire les premiers pas indispensables avec Java 3D, c'est-à-dire l'installation de la bibliothèque Java 3D puis son intégration dans des IDE (Integrated Development Environment) comme JBuilder. Enfin, nous agrémenterons le tout d'un premier exemple très simple. -
Cet article n'est qu'un avant-goût sur la performance de Leonardi Studio développé par la société Lyria mais je précise que des tutoriels sont offerts avec le pack d'installation de Leonardi (même avec la version Free) avec plus d'un millier de pages ainsi qu'un manuel détaillé de plus de 214 pages (fichiers PDF). -
Cet article a pour but d'introduire une série d'articles consacrés à l'apprentissage de l'OpenGl en utilisant le langage de programmation Java. -
Guide visuel sous forme de démonstrations flash de l'EDI NetBeans 4.1, où vous apprendrez à concevoir un GUI. -
Ce miniarticle montre (par l'exemple) comment ajouter un graphique dans une fenêtre Swing, à l'aide de jfreechart, en quelques minutes. -
Article d'introduction sur le développement de PGE (Plegat Graphic Engine), moteur graphique basé sur JOGL (Java/OpenGL). -
Second article de la série de tutoriels sur la création de mon moteur graphique PGE (Plegat Graphic Engine). Nous aborderons ici la définition d'une caméra permettant de définir la vue sur notre monde 3D, ainsi que la manière de la piloter par code et par interaction avec la souris. -
Troisième article de la série de tutoriels sur la création de mon moteur graphique PGE (Plegat Graphic Engine). Nous aborderons ici la définition des objets, ainsi que leur intégration et leur positionnement dans la fenêtre 3D. -
Retour d'expérience pour développer un jeu vidéo avec Java et la bibliothèque LibGDX
par François-Xavier RobinDans mon parcours professionnel, j'ai été formateur de jeunes développeurs pendant sept années. Ces derniers venaient d'horizons différents, parfois sans aucune compétence en terme de programmation. Afin de rendre ludique l'apprentissage des fondamentaux de l'algorithmique et de Java, je les ai fait participer à la création d'un jeu video : Xenon Reborn.
-
Ce tutoriel vous explique la création d'une interface graphique basique avec Swing. -
Nous découvrirons quels sont les principes de base à respecter et comment utiliser de manière optimale l'API Swing pour créer des interfaces originales. -
Vous connaissez Swing ? Oui, enfin non, pas la musique... En plus d'avoir fait danser des générations, il s'agit aussi de la bibliothèque Java pour les interfaces lourdes en Java (OK c'est moins glamour). À propos de Swing on parle souvent de sa grande complexité et le moins que l'on puisse dire, c'est que ce n'est pas exagéré (là on peut voir la comparaison avec la musique en fin de compte). Profitons de cet article pour revenir sur quelques-uns de ces aspects qui en ont déjà dérouté plus d'un (la complexité de la gestion de l'EDT, les pièges du modèle événementiel, l'utilisation de AWT et Swing en même temps). Si ces points viennent souvent en tête des mauvaises pratiques de programmation les plus courantes, leurs effets sont surtout une des causes de la mauvaise réputation de Swing. -
Compte rendu de la séance technique de chat sur : Les nouveautés de Swing dans Java 6.0 (Mustang). -
Introduction au Drag and Drop (Déposé et Collé) et transfert de données : effectuer des Drag and Drop sur les composants basiques et complexes, comprendre le mécanisme de transfert de données. -
Drag n' Ghost : Démonstration de Drag and Drop avec l'API Swing. -
Cet article va vous présenter la création de tableaux avec Swing en Java via la classe JTable. On y verra les concepts élémentaires des JTable ainsi que comment faire certaines opérations telles que le tri/filtrage ou encore l'ajout dynamique de données dans un tableau. -
Ce miniarticle montre (par l'exemple) comment ajouter un tableau dans une fenêtre Swing, à l'aide d'un table model, en quelques minutes. -
Ce tutoriel a pour but de comprendre le fonctionnement des JTables en utilisant un système d'explication distancié du pattern Modèle/Vue/Controlleur sans toutefois contester la validité de ce pattern. Il s'adresse aux débutants en Swing ou aux programmeurs plus expérimentés n'ayant utilisé principalement que les fonctions par défaut des JTables. -
Tutoriel : Personnaliser une table grâce à un modèle de table avec JBuilder 7. -
Introduction aux composants JTable, JTree et JGraph permettant la visualisation d'informations : renderer, editor, architecture MVC, modèle de sélection, ajout et suppression dynamique, API Java Print. -
Tutoriel : Introduction à l'utilisation de JTree avec JBuilder 7. -
Vous avez envie d'optimiser la gestion du focus pour votre application ? Ce tutoriel est fait pour vous. Vous allez pouvoir demander le focus pour un composant en particulier ou encore configurer l'ordre de focus. -
Tutoriel d'introduction sur l'utilisation de l'API Java3D avec la bibliothèque graphique Swing. -
Deux démonstrations de Splash Screens avec Swing et Java3D. -
Pour programmer une application correctement, il est indispensable de la structurer en suivant le design pattern Model-View-Controller. Le modèle doit être indépendant du reste de l'application. Dans ce cas, comment la vue peut-elle prendre en compte les modifications effectuées sur le modèle, puisque le modèle ne connaît pas l'interface graphique, et ne peut donc pas lui envoyer de messages (effectuer des appels de méthodes) ? -
De nombreux composants graphiques vous permettent d'afficher de manière pratique les résultats de recherches, mais ils manquent tous d'un peu de fantaisie. La version Tiger de MacOS X a introduit une nouvelle technologie nommée Spotlight . Dans le dialogue de préférences, vous pouvez entrer une requête et regarder des spots de lumière éclairer les icônes liées à votre recherche. Pouvons-nous utiliser la même astuce avec Swing ? -
Le toolkit Swing permet aux développeurs Java de réaliser des applications graphiques très complexes. Sa complexité rend malheureusement aisée la réalisation d'interfaces présentant de piètres performances. -
Démonstration sur l'utilisation de composants Swing pour attendre lors de l'exécution de tâches longues. -
Nous nous proposons ici d'étudier un moteur MVC pour des applications GUI Java. Si le modèle MVC (Modèle - Vue - Contrôleur) est désormais bien accepté dans le cadre des applications web, il ne semble pas qu'il ait percé dans le développement d'applications utilisant les fenêtres JFrame ou alors on n'en parle pas. L'idée de ce moteur MVC est venue à l'occasion du portage d'une interface web existante vers une interface à base de formulaires Windows. L'interface web ayant une architecture MVC, j'ai souhaité reproduire celle-ci dans l'interface Windows. En l'absence d'outils connus, j'ai été amené à développer M2VC-win écrit en VB.NET. M2VC est le portage en Java de M2VC-win.
L'architecture de [M2VC] est inspirée de celle de Struts, un moteur MVC bien connu dans le domaine des applications web Java. Le code repose massivement sur [Spring IoC] pour configurer les applications utilisant [M2VC]. Il en résulte une archive de faible poids (6 K) pour ce moteur . -
Adobe Flash est un logiciel multimédia incontournable qui permet de créer des animations graphiques et des objets interactifs. Cet article est destiné aux développeurs Java qui souhaitent ajouter des animations Flash dans leurs composants SWING dans un environnement Windows. -
MVC est un design pattern très puissant, mais néanmoins assez complexe, qui permet de bien structurer de grosses applications graphiques. Nous allons apprendre à le maîtriser avec ce tutoriel. -
Nous poursuivons ici les articles :
1.[Variations autour d'une application web à trois couches], disponible à l'URL [https://tahe.developpez.com/java/web3tier] .
2.[M2VC - un moteur MVC pour les applications swing], disponible à l'URL [https://tahe.developpez.com/java/m2vc] .
Le présent article reprend l'application web de l'article 1 et en fait une application swing « standalone ». L'architecture MVC initiale de l'application web est reproduite dans le monde swing grâce au moteur M2VC décrit dans l'article 2.
Un article analogue a été écrit pour le monde [dotnet] et est disponible à l'URL [https://tahe.developpez.com/dotnet/win3tier] . Le présent document reprend cet article et le transpose dans le monde Java. -
Utilisation de Java2D pour le développement d'une interface de gestion de maillage 2D
par Jean-Michel BORLOTCet article présente la mise en place en Java d'un panneau graphique personnalisé hérité du composant Swing JPanel. -
Implémenter le patron de conception Document/Vue en Java et visualiser les données avec JFreeChart
par Thierry Leriche-DessirierCe TP vous montre comment utiliser les classes incontournables de Swing. Il vous fait utiliser des tables modèles pas à pas. Il vous fait dessiner des graphes avec JFreeChart et bien plus encore… -
Développement d'un client Swing avancé exploitant des menus et des services Web REST
par Thierry Leriche-DessirierCe TP va être l'occasion de compléter l'application Java Swing et les DAO que vous aviez créés lors des séances précédentes. Vous allez ajouter des menus. Vous découvrirez des patterns d'action et de délégation. -
Ce tutoriel s'intéresse à présenter les bonnes pratiques pour rendre une application Swing accessible aux non-voyants.
-
Les programmeurs Java connaissent très bien AWT et Swing, les deux bibliothèques graphiques officiels de Oracle. Depuis l'arrivée d'Eclipse fourni par IBM, une troisième solution s'offre à eux, SWT. -
Dans ce billet nous allons présenter une solution pour incorporer les actions Copy/Paste et Undo/Redo au widget StyledText. Ce widget fait partie de la bibliothèque SWT, qui fournit un toolkit de composants graphiques pour développer une interface graphique en Java. -
Ce support de cours s'intéresse à présenter les composants de visualisation (Viewer) de la bibliothèque JFace pour la version 3.3 d'Eclipse : la partie modèle d'un Viewer via ContentProvider, le modèle graphique avec LabelProvider, gestion des colonnes via ViewerColumn, tous les composants Viewers (TableViewer, TreeViewer, TableTreeViewer, ListViewer, ComboViewer), le modèle de sélection via ISelection, les composants d'édition, la mise en place d'un CellEditor personnalisé, techniques de tri et de filtre. -
Avant de commencer une introduction pour présenter la plateforme Eclipse, puis, présentation de la boîte à outils SWT : évolution des boîtes à outils pour Java, conteneurs, composants de type Control, agents de placement, gestion des événements, Graphical Context, cohabitation entre SWT et Swing, traitement synchrone et asynchrone (threadui) et les boîtes de dialogue. -
Ce support de cours s'intéresse à présenter les composants additionnels JFace suivants : les boîtes de dialogue, les Wizards, les Preferences et la gestion des ressources. -
Mesure des performances de la bibliothèque JFreeChart sous SWT pour un affichage temps réel
par Frank BuloupCet article se propose de mettre au point une méthode de mesure des temps d'affichage de la bibliothèque JFreeChart.
-
Cet article a pour but de vous expliquer comment définir et utiliser des propriétés JavaFX. Cet article fera un rapide tour d'horizon des différents types de propriétés définies dans l'API en montrant quelques cas particuliers d'utilisation où le programmeur doit faire attention à ce qu'il manipule. Cet article n'abordera pas le binding. -
Ce tutoriel vous montera les bases de l'utilisation de l'API Cell de JavaFX. Cette API constitue la base des contrôles dits « virtualisés » tels que ComboBox, ListView, TableView, TreeView et TreeTableView. -
Cet article a pour but de vous expliquer comment faire du binding de haut niveau entre propriétés en JavaFX. -
Cet article a pour but de vous expliquer comment exécuter une tâche de fond en JavaFX sans avoir à recourir à un thread lancé manuellement et sans bloquer l'exécution du thread principal de gestion des événements. -
Cet article a pour but de vous montrer comment créer de nouvelles expressions grâce au binding de bas niveau en JavaFX. -
Utiliser la JSR 353 pour accéder à la Web API de Guild Wars 2 - partie 1, par bouye
par Fabrice BouyéUne série de quatre billets autour de l'utilisation de l'API JSR 353 afin d'accéder à la Web API de Guild Wars 2 : Partie 1, Partie 2, Partie 3, Partie 4. -
JavaFX est la bibliothèque graphique remplaçante de Swing et de AWT. Elle a pour avantage d'être utilisable via un langage objet et statiquement typé. -
Introduction au langage FXML pour définir ses interfaces graphiques en dehors du code JavaFX
par Fabrice BouyéCet article a pour but de vous initier au FXML, le nouveau langage basé sur XML utilisé par JavaFX pour permettre de découpler le design des interfaces graphiques du code qui les manipule et les contrôle. -
Ce billet explique comment installer et préparer votre Raspberry Pi et comment y lancer une application JavaFX. -
Un billet qui explique comment redimensionner un Canvas, ImageView, MediaView, etc. -
Un billet qui explique comment prendre le contrôle des barres de défilement de WebView à partir de JavaScript. -
À travers cet article et la création d'une application simple en JavaFX, découvrons quelques concepts du framework. -
Développer des extracteurs en JavaFX pour recevoir des notifications de mise à jour d'éléments de listes observables
par Fabrice BouyéCet article a pour but de vous expliquer comment utiliser des extracteurs et recevoir des notifications de mise à jour provenant des éléments qui sont contenus dans une liste observable. -
Apprendre à mettre en place un environnement de travail pour le développement d'un client en JavaFX
par Gérald ColinDans ce tutoriel, nous continuons le développement un client « lourd » en JavaFX. À titre d’exemple, nous développerons un logiciel de gestion de portefeuille de titres financiers.