Ces sites Web HTML5 ont fière allure. Pourquoi mes applications de bureau Java ne le sont-elles pas? Swing et SWT ne sont que de la vieille école. Ils font leur travail, mais il est tout simplement impossible de créer des interfaces graphiques sophistiquées avec de l’animation.
Je me demandais: est-il possible d'utiliser HTML5 comme boîte à outils d'interface graphique? Je pense à une bibliothèque qui a une API similaire à Swing ou SWT, mais rendue au format HTML5. Il devrait être thématique et vous devriez avoir accès à la page en Java (c'est-à-dire une fusion entre Java et JavaScript/HTML5).
Pourquoi ne pas simplement créer une application Web et envoyer l'URL à mes utilisateurs? Je souhaite bénéficier de l’intégration réelle au bureau d’applications Java SE (fichiers, COM, icône de la zone de travail, etc.). Juste quelque chose comme PhoneGap mais pour les OS de bureau au lieu de téléphones.
Incroyablement, je n'ai rien trouvé de tel sur le Web. Mais peut-être que je viens d'entrer les mauvais termes de recherche? Quelqu'un a une idée?
Sinon, puis-je intégrer WebKit/Chrome avec mon application? Ainsi, l'utilisateur n'aura pas à installer sa propre copie ni à modifier les paramètres.
Deux choses viennent à l'esprit:
TeamDev Ltd. a récemment publié JxBrowser bibliothèque qui permet de faire ce que vous voulez. Il permet d'intégrer le contrôle de navigateur Web basé sur Chromium dans des applications Java Swing/AWT. Il prend en charge l’architecture multi-processus Chromium et rend les pages Web hors écran. Avec JxBrowser, vous recevez un composant totalement léger du navigateur Swing qui affiche les pages Web exactement comme dans l'application Google Chrome.
Vous devriez vérifier JavaFX 2.0 . Il vous permet de spécifier des composants d'interface graphique dans FXML et prend en charge le style CSS. Il comporte également un composant "WebView" qui vous permet d'afficher facilement des pages Web au sein d'une application.
EDIT du 28 novembre 2015
La section de présentation de JavaFX a été déplacée.
A partir de JDK 7u6, JavaFX est inclus dans les kits JDK et JRE Standard. Veuillez télécharger le JDK ou le JRE pour utiliser JavaFX.
Si vous recherchez le téléchargement de JavaFX Scene Builder, vous le trouverez dans Dans la section "Ressources supplémentaires" de la page de téléchargement principale de Java SE .
Veuillez mettre à jour vos liens vers le nouvel emplacement .
L'un des moyens d'utiliser HTML/JavaScript dans les applications de bureau consiste à incorporer un serveur HTML dans l'application. Ensuite, une page Web sera l’interface graphique. C’est littéralement quelques dizaines de lignes de code si vous utilisez
Exemple: serveur HTTP simple en Java utilisant uniquement l'API Java SE
Vous devez servir la page Web de l'interface graphique à partir du serveur Web (même sur l'hôte local) pour éviter le même conflit de règles d'origine JavaScript décrit ici.
Un peu de temps est passé, donc je ne sais pas si cela peut être utile. Mais vous pouvez aussi regarder DukeScript ( http://wiki.apidesign.org/wiki/DukeScript ), un concept des auteurs originaux de l'EDI Netbeans. Autant que je sache, l’idée est de développer des applications Java dans un environnement HTML5. Il s'appuie sur le navigateur en tant que plate-forme (Chrome est pris en charge) et sur une machine virtuelle Java en Javascript qui s'exécute dans le navigateur (deux d'entre eux, leur propre bck2brwsr et TeaVM ). Vous pouvez même utiliser JavaFX et déployer sur Android, iOS ou un navigateur. Consultez http://dukescript.com pour des exemples.
Quels avantages attendriez-vous par rapport à une interface graphique HTML dans un navigateur standard? De nombreux programmes sont livrés avec leur propre serveur HTTP pour simplifier le développement de l'interface utilisateur. J'ai aussi lu/ QtQuick ( démo YouTube ) mais je ne me suis jamais vraiment essayé
J'ai les choses suivantes à souligner